Class: EmailValidator
- Inherits:
-
ActiveModel::EachValidator
- Object
- ActiveModel::EachValidator
- EmailValidator
- Defined in:
- lib/email_assessor/email_validator.rb
Instance Method Summary collapse
- #default_options ⇒ Object
- #error(record, attribute) ⇒ Object
- #validate_each(record, attribute, value) ⇒ Object
Instance Method Details
#default_options ⇒ Object
6 7 8 |
# File 'lib/email_assessor/email_validator.rb', line 6 def { regex: true, disposable: false, mx: false } end |
#error(record, attribute) ⇒ Object
31 32 33 |
# File 'lib/email_assessor/email_validator.rb', line 31 def error(record, attribute) record.errors.add(attribute, [:message] || :invalid) end |
#validate_each(record, attribute, value) ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/email_assessor/email_validator.rb', line 10 def validate_each(record, attribute, value) return unless value.present? = .merge(self.) address = EmailAssessor::Address.new(value) error(record, attribute) && return unless address.valid? if [:disposable] error(record, attribute) && return if address.disposable? end if [:blacklist] error(record, attribute) && return if address.blacklisted? end if [:mx] error(record, attribute) && return unless address.valid_mx? end end |