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 |