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