Module: VatCheck::Utility

Defined in:
lib/vat_check/utility.rb

Constant Summary collapse

EU_COUNTRIES =
%w(AT BE BG CY CZ DE DK EE ES FI FR GB GR HR HU IE IT LT LU LV MT NL PL PT RO SE SI SK)
COUNTRY_PATTERN =
/\A([A-Z]{2})(.+)\Z/
NORMALIZE_PATTERN =
/[-\.:_\s,;]+/

Class Method Summary collapse

Class Method Details

.normalize(vat) ⇒ Object



14
15
16
# File 'lib/vat_check/utility.rb', line 14

def self.normalize(vat)
  vat.to_s.upcase.gsub(NORMALIZE_PATTERN, "")
end

.split(vat) ⇒ Object



7
8
9
10
11
12
# File 'lib/vat_check/utility.rb', line 7

def self.split(vat)
  COUNTRY_PATTERN =~ vat
  result = [$1, $2]
  iso_country = vat_country_to_iso_country(result[0])
  EU_COUNTRIES.include?(iso_country) ? result : [nil, nil]
end

.vat_country_to_iso_country(vat_country) ⇒ Object



18
19
20
# File 'lib/vat_check/utility.rb', line 18

def self.vat_country_to_iso_country(vat_country)
  vat_country == "EL" ? "GR" : vat_country
end