Class: PhoneNumberValidator
- Inherits:
-
ActiveModel::EachValidator
- Object
- ActiveModel::EachValidator
- PhoneNumberValidator
- Defined in:
- lib/louche/validators/phone_number_validator.rb
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(options) ⇒ PhoneNumberValidator
constructor
A new instance of PhoneNumberValidator.
- #validate_each(record, attribute, value) ⇒ Object
Constructor Details
#initialize(options) ⇒ PhoneNumberValidator
Returns a new instance of PhoneNumberValidator.
2 3 4 5 6 7 |
# File 'lib/louche/validators/phone_number_validator.rb', line 2 def initialize() .reverse_merge!(message: :invalid_phone_number) .reverse_merge!(regex: /\d{10,}/) .reverse_merge!(cleanup_regex: /[^\d]/) super end |
Class Method Details
.format_number(number, regex) ⇒ Object
18 19 20 |
# File 'lib/louche/validators/phone_number_validator.rb', line 18 def self.format_number(number, regex) number.try(:gsub, regex, '') end |
Instance Method Details
#validate_each(record, attribute, value) ⇒ Object
9 10 11 12 13 14 15 16 |
# File 'lib/louche/validators/phone_number_validator.rb', line 9 def validate_each(record, attribute, value) value = PhoneNumberValidator.format_number(value, .fetch(:cleanup_regex)) record.send(:"#{attribute}=", value) unless value =~ .fetch(:regex) record.errors.add(attribute, .fetch(:message), value: value) end end |