class ValidatesZipcode::Zipcode
Public Class Methods
new(args = {})
click to toggle source
# File lib/validates_zipcode/zipcode.rb, line 6 def initialize(args = {}) @zipcode = args.fetch(:zipcode) @country_alpha2 = args.fetch(:country_alpha2) @excluded_country_codes = args.fetch(:excluded_country_codes, []) @format = args.fetch(:format, false) end
Public Instance Methods
format()
click to toggle source
# File lib/validates_zipcode/zipcode.rb, line 22 def format raise InvalidZipcodeError, "invalid zipcode #{formatted_zip} for country #{@country_alpha2.to_s.upcase}" unless valid? formatted_zip end
valid?()
click to toggle source
# File lib/validates_zipcode/zipcode.rb, line 13 def valid? return true if @excluded_country_codes.include?(@country_alpha2) return true unless regexp zipcode = @format ? formatted_zip : @zipcode !!(regexp =~ zipcode) end
Also aliased as: validate
Private Instance Methods
formatted_zip()
click to toggle source
# File lib/validates_zipcode/zipcode.rb, line 34 def formatted_zip @formatted_zip ||= Formatter.new(zipcode: @zipcode, country_alpha2: @country_alpha2).format end
regexp()
click to toggle source
# File lib/validates_zipcode/zipcode.rb, line 30 def regexp @regexp ||= regexp_for_country_alpha2(@country_alpha2) end