lib/company_number.rb in company_number-0.1.0 vs lib/company_number.rb in company_number-0.1.1

- old
+ new

@@ -1,45 +1,21 @@ # frozen_string_literal: true +require "yaml" require_relative "company_number/version" module CompanyNumber autoload :Number, 'company_number/number' - VALIDATIONS = { - at: /^([a-zA-Z]{2}\d{1,6}|\d{1,6})[A-Z]$/, - be: /^\d{10}$/, - bg: /^(\d{9}|\d{13})$/, - hr: /^(\d{8}|\d{11})$/, - cz: /^\d{8}$/, - dk: /^\d{8}$/, - ee: /^\d{8}$/, - fi: /^\d{8}$/, - fr: /^(\d{9}|\d{14})$/, - de: /^[a-zA-Z]{1,3}\d{1,6}[a-zA-Z]{0,3}$/, - gr: /^(\d{9}|\d{12})$/, - hu: /^[a-zA-Z]{2}\d{10}$/, - ie: /^(\d{5}|\d{6})$/, - is: /^\d{10}$/, - it: /^[a-zA-Z]{2}\d{7}|\d{11}$/, - lv: /^\d{11}$/, - li: /^[a-zA-Z]{3}\d{3}\s\d{3}\s\d{3}$/, - lt: /^\d{9}$/, - lu: /^[a-zA-Z]{1}\d{6}|[a-jA-J]\d{3}$/, - mt: /^[a-zA-Z]{1}\d{5}$/, - nl: /^\d{8}$/, - no: /^(\d{9}|\d{11})$/, - pl: /^(\d{6}|\d{8})$/, - pt: /^(\d{9}|\d{3,6})$/, - ro: /^\d{3}\s\d{2}\s\d{3}$/, - sk: /^\d{3}\s\d{2}\s\d{3}$/, - si: /^\d{10}|\d{7,10}$/, - es: /^[a-zA-Z]{1}(\d{8}|\d{7}[a-zA-Z]{1})$/, - se: /^\d{10}$/, - ch: /^CHE\d{9}|\d{9}$/, - gb: /^\d{8}|(OC|SC|NI)\d{6}|R\d{7}|IP\d{5}R$/ - }.freeze + class << self + def parse(company_number, country_code = nil) + CompanyNumber::Number.new(company_number, country_code) + end - def self.parse(company_number, country_code = nil) - CompanyNumber::Number.new(company_number, country_code) + def dictionary + @_dictionary ||= YAML.safe_load( + File.read(File.join(File.dirname(__FILE__), '../config/dictionary.yml')), + symbolize_names: true + ) + end end end