class Eloqua::Api::Base

Public Class Methods

new(access_token:, base_url:) click to toggle source
# File lib/eloqua/api/base.rb, line 11
def initialize(access_token:, base_url:)
  @client = Eloqua::Api::Client.new(access_token: access_token, base_url: base_url)
end

Public Instance Methods

execute(request_payload) click to toggle source
# File lib/eloqua/api/base.rb, line 15
def execute(request_payload)
  @client.call(api_endpoint: request_payload[:endpoint],
               method_type: request_payload[:method],
               params: request_payload[:params])
end
load_and_execute(api:, id: '', search_params: {}, query_params: {}, payload: {}) click to toggle source
# File lib/eloqua/api/base.rb, line 21
def load_and_execute(api:, id: '', search_params: {}, query_params: {}, payload: {})
  request_payload = ELOQUA_ENDPOINTS[api.to_sym].dup
  unless nil_or_empty?(id.to_s)
    request_payload[:endpoint] =
      sub_id_in_endpoint(request_payload[:endpoint], id.to_s)
  end
  unless nil_or_empty?(search_params) && nil_or_empty?(query_params)
    request_payload[:endpoint] = extend_params_to_url(endpoint: request_payload[:endpoint],
                                                      query_params: query_params,
                                                      search_params: search_params)
  end
  request_payload[:params] = payload.to_json unless nil_or_empty?(payload)
  execute(request_payload)
end

Private Instance Methods

nil_or_empty?(value) click to toggle source
# File lib/eloqua/api/base.rb, line 38
def nil_or_empty?(value)
  value.nil? || value.empty?
end