diff options
Diffstat (limited to 'lib/email.rb')
| -rw-r--r-- | lib/email.rb | 31 | 
1 files changed, 31 insertions, 0 deletions
diff --git a/lib/email.rb b/lib/email.rb new file mode 100644 index 0000000..4090275 --- /dev/null +++ b/lib/email.rb @@ -0,0 +1,31 @@ +class Email < String +  include ActiveModel::Validations + +  validates :email, +    :format => { +      :with => /\A([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})\Z/, #local part of email is case-sensitive, so allow uppercase letter. +      :message => "needs to be a valid email address" +    } + +  # Make sure we can call Email.new(nil) and get an invalid email address +  def initialize(s) +    super(s.to_s) +  end + +  def to_partial_path +    "emails/email" +  end + +  def to_param +    to_s +  end + +  def email +    self +  end + +  def handle +    self.split('@').first +  end + +end  | 
