module RestClient
def self.add_before_execution_proc &proc
Add a Proc to be called before each request in executed.
def self.add_before_execution_proc &proc @@before_execution_procs << proc end
def self.before_execution_procs # :nodoc:
def self.before_execution_procs # :nodoc: @@before_execution_procs end
def self.create_log param
Create a log that respond to << like a logger
def self.create_log param if param if param.is_a? String if param == 'stdout' stdout_logger = Class.new do def << obj STDOUT.puts obj end end stdout_logger.new elsif param == 'stderr' stderr_logger = Class.new do def << obj STDERR.puts obj end end stderr_logger.new else file_logger = Class.new do attr_writer :target_file def << obj File.open(@target_file, 'a') { |f| f.puts obj } end end logger = file_logger.new logger.target_file = param logger end else param end end end
def self.delete(url, headers={}, &block)
def self.delete(url, headers={}, &block) Request.execute(:method => :delete, :url => url, :headers => headers, &block) end
def self.get(url, headers={}, &block)
def self.get(url, headers={}, &block) Request.execute(:method => :get, :url => url, :headers => headers, &block) end
def self.head(url, headers={}, &block)
def self.head(url, headers={}, &block) Request.execute(:method => :head, :url => url, :headers => headers, &block) end
def self.log # :nodoc:
def self.log # :nodoc: @@env_log || @@log end
def self.log= log
Value should be a logger but can can be stdout, stderr, or a filename.
Setup the log for RestClient calls.
def self.log= log @@log = create_log log end
def self.options(url, headers={}, &block)
def self.options(url, headers={}, &block) Request.execute(:method => :options, :url => url, :headers => headers, &block) end
def self.patch(url, payload, headers={}, &block)
def self.patch(url, payload, headers={}, &block) Request.execute(:method => :patch, :url => url, :payload => payload, :headers => headers, &block) end
def self.post(url, payload, headers={}, &block)
def self.post(url, payload, headers={}, &block) Request.execute(:method => :post, :url => url, :payload => payload, :headers => headers, &block) end
def self.put(url, payload, headers={}, &block)
def self.put(url, payload, headers={}, &block) Request.execute(:method => :put, :url => url, :payload => payload, :headers => headers, &block) end
def self.reset_before_execution_procs
def self.reset_before_execution_procs @@before_execution_procs = [] end
def self.version
def self.version VERSION end
def << obj
def << obj STDOUT.puts obj end
def << obj
def << obj STDERR.puts obj end
def << obj
def << obj File.open(@target_file, 'a') { |f| f.puts obj } end