Class: Eloqua::Api::Base
- Inherits:
-
Object
- Object
- Eloqua::Api::Base
- Includes:
- UrlHelper
- Defined in:
- lib/eloqua/api/base.rb
Direct Known Subclasses
Instance Method Summary collapse
- #execute(request_payload) ⇒ Object
-
#initialize(access_token:, base_url:) ⇒ Base
constructor
A new instance of Base.
- #load_and_execute(api:, id: '', search_params: {}, query_params: {}, payload: {}) ⇒ Object
Methods included from UrlHelper
#extend_params_to_url, #sub_api_version, #sub_id_in_endpoint
Constructor Details
Instance Method Details
#execute(request_payload) ⇒ Object
15 16 17 18 19 |
# 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: {}) ⇒ Object
21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# 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 |