Class: AlfaInsurance::BusClient

Inherits:
BaseClient show all
Defined in:
lib/alfa_insurance/bus_client.rb

Constant Summary

Constants inherited from BaseClient

AlfaInsurance::BaseClient::SANDBOX_WSDL

Instance Attribute Summary

Attributes inherited from BaseClient

#log, #log_level, #logger, #operator, #product_code, #timeout, #wsdl

Instance Method Summary collapse

Methods inherited from BaseClient

#cancel, #confirm, #find, #get_available_products, #get_policy_parameters, #initialize

Constructor Details

This class inherits a constructor from AlfaInsurance::BaseClient

Instance Method Details

#calculate(total_cost, ticket_issue_date) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
14
15
# File 'lib/alfa_insurance/bus_client.rb', line 3

def calculate(total_cost, ticket_issue_date)
  response = send_soap_request(:calculate_policy) do |xml|
    xml.operator { xml.code(operator) }
    xml.product { xml.code(product_code) }
    xml.policyParameters {
      xml.ticketInformation {
        xml.ticketTotalValue(total_cost.to_f)
        xml.ticketIssueDate(ticket_issue_date.iso8601)
      }
    }
  end
  CalculateResponse.new(response)
end

#create(insurance_object, ticket_issue_date) ⇒ Object

Raises:

  • (ArgumentError)


17
18
19
20
21
22
23
24
25
# File 'lib/alfa_insurance/bus_client.rb', line 17

def create(insurance_object, ticket_issue_date)
  raise ArgumentError, "BusInsuranceRequest is expected" unless insurance_object.is_a?(BusInsuranceRequest)
  response = send_soap_request(:create_policy) do |xml|
    xml.operator { xml.code(operator) }
    xml.product { xml.code(product_code) }
    xml.policyParameters { insurance_object.generate_xml(xml, ticket_issue_date) }
  end
  CreateResponse.new(response)
end