lib/valvat/lookup/request.rb in valvat-1.0.1 vs lib/valvat/lookup/request.rb in valvat-1.1.0

- old
+ new

@@ -1,5 +1,7 @@ +# frozen_string_literal: true + require 'savon' class Valvat class Lookup class Request @@ -10,17 +12,15 @@ @options = options || {} @requester = @options[:requester] && Valvat(@options[:requester]) end def perform - begin - Response.new( - client.call(action, message: message, message_tag: message_tag) - ) - rescue Savon::SOAPFault => fault - Fault.new(fault) - end + Response.new( + client.call(action, message: message, message_tag: message_tag) + ) + rescue Savon::SOAPFault => e + Fault.new(e) end private def client @@ -28,25 +28,30 @@ wsdl: VIES_WSDL_URL, log: false, follow_redirects: true }.merge(@options[:savon] || {})) end def message - { - country_code: @vat.vat_country_code, - vat_number: @vat.to_s_wo_country - }.merge(@requester ? { - requester_country_code: @requester.vat_country_code, - requester_vat_number: @requester.to_s_wo_country - } : {} - ) + add_requester({ + country_code: @vat.vat_country_code, + vat_number: @vat.to_s_wo_country + }) end def message_tag @requester ? :checkVatApprox : :checkVat end def action @requester ? :check_vat_approx : :check_vat end + + def add_requester(message) + return message unless @requester + + message[:requester_country_code] = @requester.vat_country_code + message[:requester_vat_number] = @requester.to_s_wo_country + + message + end end end -end \ No newline at end of file +end