Class: Merge::Accounting::AsyncPassthroughClient
- Inherits:
-
Object
- Object
- Merge::Accounting::AsyncPassthroughClient
- Defined in:
- lib/merge_ruby_client/accounting/passthrough/client.rb,
lib/merge_ruby_client/accounting/async_passthrough/client.rb
Instance Attribute Summary collapse
Instance Method Summary collapse
-
#create(request:, request_options: nil) ⇒ Merge::Accounting::AsyncPassthroughReciept
Asynchronously pull data from an endpoint not currently supported by Merge.
- #initialize(request_client:) ⇒ Merge::Accounting::AsyncPassthroughClient constructor
-
#retrieve(async_passthrough_receipt_id:, request_options: nil) ⇒ Merge::Accounting::RemoteResponse
Retrieves data from earlier async-passthrough POST request.
Constructor Details
#initialize(request_client:) ⇒ Merge::Accounting::AsyncPassthroughClient
66 67 68 |
# File 'lib/merge_ruby_client/accounting/passthrough/client.rb', line 66 def initialize(request_client:) @request_client = request_client end |
Instance Attribute Details
#request_client ⇒ Merge::RequestClient (readonly)
62 63 64 |
# File 'lib/merge_ruby_client/accounting/passthrough/client.rb', line 62 def request_client @request_client end |
Instance Method Details
#create(request:, request_options: nil) ⇒ Merge::Accounting::AsyncPassthroughReciept
Asynchronously pull data from an endpoint not currently supported by Merge.
90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 |
# File 'lib/merge_ruby_client/accounting/passthrough/client.rb', line 90 def create(request:, request_options: nil) Async do response = @request_client.conn.post do |req| req..timeout = .timeout_in_seconds unless &.timeout_in_seconds.nil? req.headers["Authorization"] = .api_key unless &.api_key.nil? req.headers["X-Account-Token"] = .account_token unless &.account_token.nil? req.headers = { **(req.headers || {}), **@request_client.get_headers, **(&.additional_headers || {}) }.compact unless .nil? || &.additional_query_parameters.nil? req.params = { **(&.additional_query_parameters || {}) }.compact end req.body = { **(request || {}), **(&.additional_body_parameters || {}) }.compact req.url "#{@request_client.get_url(request_options: )}/accounting/v1/passthrough" end Merge::Accounting::RemoteResponse.from_json(json_object: response.body) end end |
#retrieve(async_passthrough_receipt_id:, request_options: nil) ⇒ Merge::Accounting::RemoteResponse
Retrieves data from earlier async-passthrough POST request
72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 |
# File 'lib/merge_ruby_client/accounting/async_passthrough/client.rb', line 72 def retrieve(async_passthrough_receipt_id:, request_options: nil) response = @request_client.conn.get do |req| req..timeout = .timeout_in_seconds unless &.timeout_in_seconds.nil? req.headers["Authorization"] = .api_key unless &.api_key.nil? req.headers["X-Account-Token"] = .account_token unless &.account_token.nil? req.headers = { **(req.headers || {}), **@request_client.get_headers, **(&.additional_headers || {}) }.compact unless .nil? || &.additional_query_parameters.nil? req.params = { **(&.additional_query_parameters || {}) }.compact end unless .nil? || &.additional_body_parameters.nil? req.body = { **(&.additional_body_parameters || {}) }.compact end req.url "#{@request_client.get_url(request_options: )}/accounting/v1/async-passthrough/#{async_passthrough_receipt_id}" end Merge::Accounting::RemoteResponse.from_json(json_object: response.body) end |