class ActiveModelEmailAddressValidator::EmailAddress

Attributes

address[R]

Public Class Methods

new(address) click to toggle source
# File lib/activemodel_email_address_validator/email_address.rb, line 3
def initialize(address)
  @address = address.to_s
end

Public Instance Methods

to_s() click to toggle source
# File lib/activemodel_email_address_validator/email_address.rb, line 7
def to_s
  address
end
valid?(regex = nil) click to toggle source
# File lib/activemodel_email_address_validator/email_address.rb, line 11
def valid?(regex = nil)
  if regex
    valid_using_regex?(regex)
  else
    valid_using_default?
  end
end

Private Instance Methods

valid_using_default?() click to toggle source
# File lib/activemodel_email_address_validator/email_address.rb, line 27
def valid_using_default?
  return false if address =~ /\s+/
  email_parts = address.split("@")

  return false unless email_parts.size == 2

  user, host = *email_parts
  return false unless user =~ /^([^.]+\S)*[^. ]+$/
  return false unless host =~ /^([^,. ~]+\.)+[^,. ]+$/
  true
end
valid_using_regex?(regex) click to toggle source
# File lib/activemodel_email_address_validator/email_address.rb, line 23
def valid_using_regex?(regex)
  address.to_s =~ regex
end