class AlfaInsurance::Response
Public Class Methods
new(soap_response)
click to toggle source
# File lib/alfa_insurance/response.rb, line 3 def initialize(soap_response) @raw_response = soap_response end
Public Instance Methods
body()
click to toggle source
# File lib/alfa_insurance/response.rb, line 19 def body @body ||= @raw_response.body.values.first end
error_code()
click to toggle source
# File lib/alfa_insurance/response.rb, line 11 def error_code body.dig(:return_code, :code) unless success? end
error_description()
click to toggle source
# File lib/alfa_insurance/response.rb, line 15 def error_description body.dig(:return_code, :error_message) unless success? end
success?()
click to toggle source
# File lib/alfa_insurance/response.rb, line 7 def success? body.dig(:return_code, :code) == 'OK' end
Private Instance Methods
risk_currency(risk_type)
click to toggle source
# File lib/alfa_insurance/response.rb, line 41 def risk_currency(risk_type) risk_currency_data = policy.dig(:risk_currency) if risk_currency_data.is_a?(Array) risk_currency_data.find { |currency_hash| currency_hash[:@risk_type] == risk_type }[:@value] else risk_currency_data[:@value] end end
risk_values_from(data, currency: nil)
click to toggle source
# File lib/alfa_insurance/response.rb, line 25 def risk_values_from(data, currency: nil) raw_values = data[:risk_value] raw_values = [raw_values] unless raw_values.is_a?(Array) raw_values.each_with_object({}) do |item, result| risk_type = item[:@risk_type] risk_value = item[:@value] value_currency = currency || risk_currency(risk_type) result[risk_type] = to_money(risk_value, value_currency) end end
to_money(amount, currency)
click to toggle source
# File lib/alfa_insurance/response.rb, line 37 def to_money(amount, currency) Money.from_amount(amount.to_f, currency) end