class ApiClient

Constants

VENDOR_HOST
VERB_MAP

Public Class Methods

new() click to toggle source
# File lib/client/client.rb, line 15
def initialize
        # Create persistent HTTP connection
        @http = Net::HTTP.new(VENDOR_HOST, URI::HTTPS::DEFAULT_PORT)
        @http.use_ssl = true
end

Public Instance Methods

request(method, uri, params) click to toggle source
# File lib/client/client.rb, line 34
def request(method, uri, params)
        method_sym = method.downcase.to_sym

        request = VERB_MAP[method_sym].new(uri)

        unless method_sym == :get
                request.set_form_data(params)
        end

        if @api_token
                request['Authorization'] = @api_token
        end

        @http.request(request)
end
request_json(method, uri, params = nil) click to toggle source
# File lib/client/client.rb, line 25
def request_json(method, uri, params = nil)
        response = request(method, uri, params)
        body = JSON.parse(response.body)

        OpenStruct.new(:code => response.code, :body => body)
rescue JSON::ParserError
        response
end
set_token(api_token) click to toggle source
# File lib/client/client.rb, line 21
def set_token(api_token)
        @api_token = api_token
end