Class: Change::Requests::Client
- Inherits:
-
Object
- Object
- Change::Requests::Client
- Includes:
- Exceptions, HTTParty
- Defined in:
- lib/requests/client.rb
Instance Method Summary collapse
-
#initialize(properties = {}) ⇒ Client
constructor
A new instance of Client.
- #request(request_on, request_type, resource, params) ⇒ Object
Constructor Details
#initialize(properties = {}) ⇒ Client
Returns a new instance of Client.
7 8 9 10 11 |
# File 'lib/requests/client.rb', line 7 def initialize(properties = {}) @api_key = properties.delete(:api_key) @secret_token = properties.delete(:secret_token) raise "An API key must be specified." if @api_key.nil? end |
Instance Method Details
#request(request_on, request_type, resource, params) ⇒ Object
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/requests/client.rb', line 13 def request(request_on, request_type, resource, params) method = request_type.delete(:method) action_or_collection = request_type.delete(:action) || request_type.delete(:collection) endpoint = resource.endpoint(request_on, action_or_collection) params[:api_key] = @api_key if resource.needs_request_signature?(method) params[:endpoint] = endpoint params[:timestamp] = Time.now.utc.iso8601 if resource.(action_or_collection) auth_key_to_use = params.delete(:auth_key_to_use) || resource.auth_key params[:rsig] = generate_rsig(params, auth_key_to_use['auth_key']) else params[:rsig] = generate_rsig(params) end end response = send(method.to_s, final_url(endpoint), params) deal_with_response(response) end |