Project

rfc822

0.04
No release in over 3 years
Low commit activity in last 3 years
This is a simple gem for Ruby that simplifies validating email addresses. It provides clean methods like String#is_email? and provides you valid RFC2822 regexp for more complex tasks. See the website for more information.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies
 Project Readme

Introduction¶ ↑

This is a simple gem for Ruby that simplifies validating email addresses. It conforms with RFC2822.

Here comes a quick code sample. Currently no docs.

require 'rfc822'

# To test if whole string is an email... ugly way
#  (returns 0 on success, nil on failure):

"tom@example.com".dup.force_encoding("BINARY") =~ RFC822::EMAIL_REGEXP_WHOLE

# or nice one (returns true/false):

"tom@example.com".is_email?

# To test if string contains an email... ugly way
#   (returns 0 on success, nil on failure):

"demo john@example.comFooBar".dup.force_encoding("BINARY") =~ RFC822::EMAIL_REGEXP_PART

# or nice one (returns true/false):

"demo john@example.comFooBar".contains_email?

# To scan for emails within a string... ugly way
#   (returns an array):

"something a@example.com xyz".dup.force_encoding("BINARY").scan(RFC822::EMAIL_REGEXP_PART)

# or nice one (also returns an array):

"something a@example.com xyz".scan_for_emails

If you omit ‘.dup.force_encoding(“BINARY”)` part, you can run into exceptions if someone passes non-ASCII email (see github.com/mspanc/rfc822/issues/3).

Installation¶ ↑

Ruby Versions¶ ↑

Code was tested with ruby-1.8.7-p334 [ i386 ] and ruby-1.9.2-p180 [ i386 ] under RVM.

Gems¶ ↑

The gems are hosted at Rubygems.org. Make sure you’re using the latest version of rubygems:

$ gem update --system

Then you can install the gem as follows:

$ gem install rfc822

Bundler¶ ↑

Add to your Gemfile:

gem "rfc822"

and then type:

bundle install

From the GitHub source¶ ↑

The source code is available at github.com/saepia/rfc822. You can either clone the git repository or download a tarball or zip file. Once you have the source, you can unpack it and use from wherever you downloaded.

ChangeLog¶ ↑

0.1.5¶ ↑

  • Fixed bug that caused to change encoding of string passed to the methods (thanks to Artur Trzop)

0.1.4¶ ↑

  • Fixed regression introduced in 0.1.3 that caused EMAIL_REGEXP_WHOLE to stop working properly.

0.1.3 (yanked)¶ ↑

  • security

    Updated regular expressions to use A and z instead of ^ and $ operators.

0.1.2¶ ↑

  • Updated license

0.1.1¶ ↑

  • Fixed description in the gem description

0.1.0¶ ↑

  • Added compatibility with Ruby 1.9

  • Added String#is_email?, String#contains_email? and String#scan_for_emails methods

0.0.2¶ ↑

  • Initial release

License¶ ↑

MIT