Class: Eloqua::Api::Client

Inherits:
Object
  • Object
show all
Includes:
EloquaApiExceptions, HTTParty, UrlHelper
Defined in:
lib/eloqua/api/client.rb

Overview

provides single source of setting and calling apis

Instance Method Summary collapse

Methods included from UrlHelper

#extend_params_to_url, #sub_api_version, #sub_id_in_endpoint

Constructor Details

#initialize(access_token:, base_url:, authorization_type: DEFAULT_AUTHORIZATION_TYPE) ⇒ Client

Returns a new instance of Client.



12
13
14
15
# File 'lib/eloqua/api/client.rb', line 12

def initialize(access_token:, base_url:, authorization_type: DEFAULT_AUTHORIZATION_TYPE)
  self.class.base_uri sub_api_version(url: base_url)
  self.class.headers http_headers(access_token, authorization_type)
end

Instance Method Details

#call(api_endpoint:, method_type: :get, params: {}) ⇒ Object

Raises:

  • (error_class(request_response))


17
18
19
20
21
22
23
24
25
# File 'lib/eloqua/api/client.rb', line 17

def call(api_endpoint:, method_type: :get, params: {})
  puts api_endpoint
  puts self.class.base_uri
  request_response = self.class.send(method_type, api_endpoint, body: params)
  return request_response.parsed_response if response_successful?(request_response)

  raise error_class(request_response),
        "Code: #{request_response.code}, response: #{request_response.parsed_response}"
end