module Europe::Vat::Format
Constants
- VAT_REGEX
Public Class Methods
match_vat_number(number, country_code)
click to toggle source
# File lib/europe/vat/format.rb, line 55 def self.match_vat_number(number, country_code) if VAT_REGEX[country_code.to_sym].is_a?(Array) VAT_REGEX[country_code.to_sym].each do |regex| return true if regex.match(number) end elsif VAT_REGEX[country_code.to_sym].match(number) return true end false end
sanitize_number(number, country_code)
click to toggle source
# File lib/europe/vat/format.rb, line 47 def self.sanitize_number(number, country_code) if %i[DK FR].include?(country_code) number.gsub(/\.|\t/, '').upcase else number.gsub(/\.|\t|\s/, '').upcase end end
validate(number)
click to toggle source
# File lib/europe/vat/format.rb, line 39 def self.validate(number) country_code = number[0..1].to_sym number = sanitize_number(number, country_code) return false unless VAT_REGEX.key?(country_code) match_vat_number(number, country_code) end