certs | ||
lib | ||
test | ||
.drone.yml | ||
.gitignore | ||
CHANGELOG | ||
Gemfile | ||
Gemfile.lock | ||
LICENSE | ||
Rakefile | ||
README.md | ||
ruby_email.gemspec | ||
version |
A RFC compliant Email validator
-
What is an Email Address ?
-
What is a Domain Name ?
-
Compliant to the Rfc 5322.
-
Compliant to the Rfc 1123.
-
To do rfc 6530.
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 :)