You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1.8 KiB

A RFC compliant Email validator

Build Status

Installation

gem install ruby_email

or in the Gemfile

gem 'ruby_email'

Usage in Ruby

require 'ruby_email'

# Pure Rfc5322
RubyEmail::Rfc5322.validates? "toto@tata" # => true
RubyEmail::Rfc5322.match "toto@tata" # => #<MatchData "toto@tata" local:"toto" domain:"tata">
RubyEmail::Rfc5322.validates? "toto" # => false
RubyEmail::Rfc5322.match "toto" # => nil

# Rfc5322 + Internet basic usage
RubyEmail::Rfc5322::Public.validates? "toto@tata.com" # => true
RubyEmail::Rfc5322::Public.match "toto@tata.com" # => #<MatchData "toto@tata" local:"toto" domain:"tata.com">

# Rfc5322 Strings
require 'ruby_email/rfc5322/string'
"local@domain".is_email? # => true
"local".is_email? # => false

# Rfc5322 Strings + Internet basic usage
require 'ruby_email/rfc5322/public/string'
"local@domain.root".is_public_email? # => true
"local@domain".is_public_email? # => false

Usage in Ruby on Rails

class Model < ActiveRecord::Base
  # validates :email, format: RubyEmail::Rfc5322::REGEXP # valid on an intranet ...
  validates :email, format: RubyEmail::Rfc5322::Public::REGEXP
end

Unitary tests

rake test

Contributes !

Find a bug ? Want a new feature ? Create a clear pull request and we'll see :)