module Valvat::Utils
Constants
- CONVERT_ISO_TO_VAT_COUNTRY
- CONVERT_VAT_TO_ISO_COUNTRY
- COUNTRY_PATTERN
- EU_MEMBER_STATES
- NORMALIZE_PATTERN
- SUPPORTED_STATES
Public Class Methods
country_is_supported?(iso_country)
click to toggle source
# File lib/valvat/utils.rb, line 33 def self.country_is_supported?(iso_country) SUPPORTED_STATES.include?(iso_country) end
deep_symbolize_keys(value)
click to toggle source
# File lib/valvat/utils.rb, line 37 def self.deep_symbolize_keys(value) value = value.transform_keys do |key| key.to_sym rescue StandardError key end value.transform_values! do |val| val.is_a?(Hash) ? deep_symbolize_keys(val) : val end end
iso_country_to_vat_country(iso_country)
click to toggle source
# File lib/valvat/utils.rb, line 29 def self.iso_country_to_vat_country(iso_country) CONVERT_ISO_TO_VAT_COUNTRY[iso_country] || iso_country end
normalize(vat)
click to toggle source
# File lib/valvat/utils.rb, line 21 def self.normalize(vat) vat.to_s.upcase.gsub(NORMALIZE_PATTERN, '') end
split(vat)
click to toggle source
# File lib/valvat/utils.rb, line 14 def self.split(vat) COUNTRY_PATTERN =~ vat result = [Regexp.last_match(1), Regexp.last_match(2)] iso_country = vat_country_to_iso_country(result[0]) country_is_supported?(iso_country) ? result : [nil, nil] end
vat_country_to_iso_country(vat_country)
click to toggle source
# File lib/valvat/utils.rb, line 25 def self.vat_country_to_iso_country(vat_country) CONVERT_VAT_TO_ISO_COUNTRY[vat_country] || vat_country end