class Incentivale::Request
Constants
- API_ENDPOINT
Attributes
connection[RW]
Public Class Methods
new(client)
click to toggle source
# File lib/incentivale/request.rb, line 7 def initialize(client) @connection = Faraday.new(url: Client.host) do |builder| builder.headers['Authorization'] = Auth.new(client).header builder.headers['Content-Type'] = 'application/x-www-form-urlencoded' builder.headers['Connection'] = 'Keep-Alive' builder.adapter Faraday.default_adapter end end
Public Instance Methods
get(url, params = {})
click to toggle source
# File lib/incentivale/request.rb, line 16 def get(url, params = {}) Response.new connection.get(request_path(url), params.to_camel_keys) end
post(url, resource = {})
click to toggle source
# File lib/incentivale/request.rb, line 20 def post(url, resource = {}) Response.new connection.post(request_path(url), resource_to_post(resource)) end
Private Instance Methods
request_path(url)
click to toggle source
# File lib/incentivale/request.rb, line 34 def request_path(url) API_ENDPOINT + url end
resource_to_post(resource)
click to toggle source
# File lib/incentivale/request.rb, line 26 def resource_to_post(resource) URI.encode_www_form(serialize_resource_keys(resource)) end
serialize_resource_keys(hash)
click to toggle source
# File lib/incentivale/request.rb, line 30 def serialize_resource_keys(hash) hash.to_snake_keys.to_camel_keys.map { |k, v| [k.to_s,v] } end