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