module UniOne::Connection
Public Instance Methods
get(url, params)
click to toggle source
# File lib/unione/connection.rb, line 9 def get(url, params) prepare_params!(params) # Assume HTTP library receives params as Hash request(:get, url, params) end
post(url, params)
click to toggle source
# File lib/unione/connection.rb, line 16 def post(url, params) prepare_params!(params) # Assume HTTP library receives payload body as String request(:post, url, JSON.dump(params)) end
Private Instance Methods
add_version(path)
click to toggle source
# File lib/unione/connection.rb, line 54 def add_version(path) "#{path}?platform=unione_ruby_#{UniOne::VERSION}" end
conn()
click to toggle source
# File lib/unione/connection.rb, line 30 def conn headers = {'Content-Type' => 'application/json'} prepare_headers!(headers) @conn ||= Faraday.new( url: api_endpoint, headers: headers, request: { timeout: 30 } ) do |conn| conn.response :mashify, content_type: /\bjson$/ conn.response :json, content_type: /\bjson$/ conn.response :raise_error conn.adapter :net_http_persistent end end
prepare_headers!(headers)
click to toggle source
# File lib/unione/connection.rb, line 50 def prepare_headers!(headers) headers.merge!('X-API-KEY' => @api_key) unless @api_key_in_params end
prepare_params!(params)
click to toggle source
# File lib/unione/connection.rb, line 46 def prepare_params!(params) params.merge!({api_key: @api_key}) if @api_key_in_params end
request(method, path, data)
click to toggle source
# File lib/unione/connection.rb, line 25 def request(method, path, data) path = add_version(path) @last_response = conn.send(method, path, data) end