class ValidatesZipcode::Validator
Public Class Methods
Source
# File lib/validates_zipcode/validator.rb, line 20 def initialize(options) @country_code = options.fetch(:country_code, nil) @country_code_attribute = options.fetch(:country_code_attribute, :country_alpha2) @excluded_country_codes = options.fetch(:excluded_country_codes, []) @format = options.fetch(:format, false) @message = options.fetch(:message, nil) super end
Calls superclass method
Public Instance Methods
Source
# File lib/validates_zipcode/validator.rb, line 29 def validate_each(record, attribute, value) alpha2 = @country_code || record.send(@country_code_attribute) options = { zipcode: value.to_s, country_alpha2: alpha2, excluded_country_codes: @excluded_country_codes, format: @format } return if ValidatesZipcode::Zipcode.new(options).valid? message = @message || I18n.t('errors.messages.invalid_zipcode', value: value, default: 'is invalid') record.errors.add(attribute, :invalid_zipcode, message: message) end