Class: RestChain::RestClientDriver
- Inherits:
-
Object
- Object
- RestChain::RestClientDriver
- Defined in:
- lib/rest_chain/rest_client_driver.rb
Instance Attribute Summary collapse
-
#logger ⇒ Object
(also: #log)
readonly
Returns the value of attribute logger.
Instance Method Summary collapse
- #delete(url, parameters = {}) ⇒ Object
- #dispatch(verb, url, parameters = {}) ⇒ Object
- #get(url, parameters = {}) ⇒ Object
-
#initialize(logger) ⇒ RestClientDriver
constructor
A new instance of RestClientDriver.
- #patch(url, parameters = {}) ⇒ Object
- #post(url, parameters = {}) ⇒ Object
- #put(url, parameters = {}) ⇒ Object
Constructor Details
#initialize(logger) ⇒ RestClientDriver
Returns a new instance of RestClientDriver.
5 6 7 |
# File 'lib/rest_chain/rest_client_driver.rb', line 5 def initialize(logger) @logger = logger end |
Instance Attribute Details
#logger ⇒ Object (readonly) Also known as: log
Returns the value of attribute logger.
8 9 10 |
# File 'lib/rest_chain/rest_client_driver.rb', line 8 def logger @logger end |
Instance Method Details
#delete(url, parameters = {}) ⇒ Object
11 12 13 |
# File 'lib/rest_chain/rest_client_driver.rb', line 11 def delete(url, parameters={}) dispatch(:delete, url, parameters) end |
#dispatch(verb, url, parameters = {}) ⇒ Object
31 32 33 34 35 36 37 38 39 40 41 |
# 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 = {}) ⇒ Object
15 16 17 |
# File 'lib/rest_chain/rest_client_driver.rb', line 15 def get(url, parameters={}) dispatch(:get, url, parameters) end |
#patch(url, parameters = {}) ⇒ Object
19 20 21 |
# File 'lib/rest_chain/rest_client_driver.rb', line 19 def patch(url, parameters={}) dispatch(:patch, url, parameters) end |
#post(url, parameters = {}) ⇒ Object
23 24 25 |
# File 'lib/rest_chain/rest_client_driver.rb', line 23 def post(url, parameters={}) dispatch(:post, url, parameters) end |
#put(url, parameters = {}) ⇒ Object
27 28 29 |
# File 'lib/rest_chain/rest_client_driver.rb', line 27 def put(url, parameters={}) dispatch(:put, url, parameters) end |