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