Coder Social home page Coder Social logo

rfc822's Introduction

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):

"[email protected]".dup.force_encoding("BINARY") =~ RFC822::EMAIL_REGEXP_WHOLE

# or nice one (returns true/false):

"[email protected]".is_email?

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

"demo [email protected]".dup.force_encoding("BINARY") =~ RFC822::EMAIL_REGEXP_PART

# or nice one (returns true/false):

"demo [email protected]".contains_email?

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

"something [email protected] xyz".dup.force_encoding("BINARY").scan(RFC822::EMAIL_REGEXP_PART)

# or nice one (also returns an array):

"something [email protected] 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

rfc822's People

Contributors

mspanc avatar arturt avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.