Class: Riveter::EmailValidator

Inherits:
ActiveModel::EachValidator
  • Object
show all
Defined in:
lib/riveter/email_validator.rb

Instance Method Summary collapse

Constructor Details

#initialize(options) ⇒ EmailValidator

Returns a new instance of EmailValidator.



3
4
5
6
# File 'lib/riveter/email_validator.rb', line 3

def initialize(options)
  @allow_nil, @allow_blank = options.delete(:allow_nil), options.delete(:allow_blank)
  super
end

Instance Method Details

#validate_each(record, attribute, value) ⇒ Object



8
9
10
11
12
13
14
# File 'lib/riveter/email_validator.rb', line 8

def validate_each(record, attribute, value)
  return if (@allow_nil && value.nil?) || (@allow_blank && value.blank?)

  unless value =~ /\A([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})\z/i
    record.errors.add(attribute, :email, :value => value)
  end
end