class Valvat::Lookup

Public Class Methods

new(vat, options = {}) click to toggle source
# File lib/valvat/lookup.rb, line 9
def initialize(vat, options = {})
  @vat = Valvat(vat)
  @options = Valvat::Options(options)
end
validate(vat, options = {}) click to toggle source
# File lib/valvat/lookup.rb, line 22
def validate(vat, options = {})
  new(vat, options).validate
end

Public Instance Methods

validate() click to toggle source
# File lib/valvat/lookup.rb, line 14
def validate
  return false if !@options[:skip_local_validation] && !@vat.valid?
  return handle_error(response[:error]) if response[:error]

  response[:valid] && show_details? ? response : response[:valid]
end

Private Instance Methods

handle_error(error) click to toggle source
# File lib/valvat/lookup.rb, line 43
def handle_error(error)
  if error.is_a?(MaintenanceError)
    raise error if @options[:raise_error]
  else
    raise error unless @options[:raise_error] == false
  end
end
response() click to toggle source
# File lib/valvat/lookup.rb, line 29
def response
  @response ||= webservice.new(@vat, @options).perform
end
show_details?() click to toggle source
# File lib/valvat/lookup.rb, line 39
def show_details?
  @options[:requester] || @options[:detail]
end
webservice() click to toggle source
# File lib/valvat/lookup.rb, line 33
def webservice
  return HMRC if @vat.vat_country_code == 'GB'

  VIES
end