Class: AcumenOrderClient
- Inherits:
-
Object
- Object
- AcumenOrderClient
- Defined in:
- lib/huginn_acumen_order_agent/acumen_client.rb
Instance Method Summary collapse
- #execute_in_list_query(body, headers) ⇒ Object
- #execute_query(body, headers) ⇒ Object
- #get_invoice_details(invoice_ids) ⇒ Object
- #get_invoices(order_codes) ⇒ Object
- #get_results(response, name) ⇒ Object
-
#initialize(faraday, auth) ⇒ AcumenOrderClient
constructor
A new instance of AcumenOrderClient.
Constructor Details
#initialize(faraday, auth) ⇒ AcumenOrderClient
Returns a new instance of AcumenOrderClient.
5 6 7 8 |
# File 'lib/huginn_acumen_order_agent/acumen_client.rb', line 5 def initialize(faraday, auth) @faraday = faraday @auth = auth end |
Instance Method Details
#execute_in_list_query(body, headers) ⇒ Object
27 28 29 30 |
# File 'lib/huginn_acumen_order_agent/acumen_client.rb', line 27 def execute_in_list_query(body, headers) response = @faraday.run_request(:post, "#{@auth['endpoint']}QueryByInList", body, headers) ::MultiXml.parse(response.body, {}) end |
#execute_query(body, headers) ⇒ Object
22 23 24 25 |
# File 'lib/huginn_acumen_order_agent/acumen_client.rb', line 22 def execute_query(body, headers) response = @faraday.run_request(:post, "#{@auth['endpoint']}Query", body, headers) ::MultiXml.parse(response.body, {}) end |
#get_invoice_details(invoice_ids) ⇒ Object
16 17 18 19 20 |
# File 'lib/huginn_acumen_order_agent/acumen_client.rb', line 16 def get_invoice_details(invoice_ids) body = build_invoice_detail_query(invoice_ids) response = execute_in_list_query(body, {}) get_results(response, 'Invoice_Detail') end |
#get_invoices(order_codes) ⇒ Object
10 11 12 13 14 |
# File 'lib/huginn_acumen_order_agent/acumen_client.rb', line 10 def get_invoices(order_codes) body = build_invoice_request(order_codes) response = execute_in_list_query(body, {}) get_results(response, 'Invoice') end |
#get_results(response, name) ⇒ Object
32 33 34 35 36 |
# File 'lib/huginn_acumen_order_agent/acumen_client.rb', line 32 def get_results(response, name) result_set = response['Envelope']['Body']['acusoapResponse']['result_set.' + name] results = result_set.nil? ? [] : result_set[name] results.is_a?(Array) ? results : [results] end |