class RestChain::RestClientDriver

Attributes

log[R]
logger[R]

Public Class Methods

new(logger) click to toggle source
# File lib/rest_chain/rest_client_driver.rb, line 5
def initialize(logger)
  @logger = logger
end

Public Instance Methods

delete(url, parameters={}) click to toggle source
# File lib/rest_chain/rest_client_driver.rb, line 11
def delete(url, parameters={})
  dispatch(:delete, url, parameters)
end
dispatch(verb, url, parameters={}) click to toggle source
# File lib/rest_chain/rest_client_driver.rb, line 31
def dispatch(verb, url, parameters={})
  log.debug "Dispatching a #{verb.to_s.upcase} request to #{url} with parameters: #{parameters}"
  response = RestClient::Request.execute(headers: {params: parameters},
                                         method:  verb,
                                         url:     url)
  RestResponse.new(response.code, response.headers, response.body)
rescue RestClient::Exception => error
  log.debug "#{verb.to_s.upcase} request to #{url} raised a #{error.class.name} exception."
  response = error.response
  RestResponse.new(response.code, response.headers, response.body)
end
get(url, parameters={}) click to toggle source
# File lib/rest_chain/rest_client_driver.rb, line 15
def get(url, parameters={})
  dispatch(:get, url, parameters)
end
patch(url, parameters={}) click to toggle source
# File lib/rest_chain/rest_client_driver.rb, line 19
def patch(url, parameters={})
  dispatch(:patch, url, parameters)
end
post(url, parameters={}) click to toggle source
# File lib/rest_chain/rest_client_driver.rb, line 23
def post(url, parameters={})
  dispatch(:post, url, parameters)
end
put(url, parameters={}) click to toggle source
# File lib/rest_chain/rest_client_driver.rb, line 27
def put(url, parameters={})
  dispatch(:put, url, parameters)
end