README.md in valid_email2-0.0.4 vs README.md in valid_email2-1.0.0
- old
+ new
@@ -1,19 +1,33 @@
# ValidEmail2
[![Build Status](https://travis-ci.org/lisinge/valid_email2.png?branch=master)](https://travis-ci.org/lisinge/valid_email2)
+[![Gem Version](https://badge.fury.io/rb/valid_email2.png)](http://badge.fury.io/rb/valid_email2)
[![Coverage Status](https://coveralls.io/repos/lisinge/valid_email2/badge.png)](https://coveralls.io/r/lisinge/valid_email2)
[![Code Climate](https://codeclimate.com/github/lisinge/valid_email2.png)](https://codeclimate.com/github/lisinge/valid_email2)
[![Dependency Status](https://gemnasium.com/lisinge/valid_email2.png)](https://gemnasium.com/lisinge/valid_email2)
-Validate emails without regexp but with the help of the `mail` gem and MX server lookup.
-Optionally validate against a list of disposable email domains.
+Validate emails with the help of the `mail` gem instead of some cluncy regexp.
+Aditionally validate that the domain has a MX record.
+Optionally validate against a static [list of disposable email services](vendor/disposable_emails.yml).
+
+### Why?
+
+There are lots of other gems and libraries that validates email adresses but most of them use some cluncy regexp.
+I also saw a need to be able to validate that the email address is not coming from a "disposable email" provider.
+
+### Is it production ready?
+
+Yes, it is used in several production apps.
+
## Installation
Add this line to your application's Gemfile:
- gem 'valid_email2'
+```ruby
+gem "valid_email2"
+```
And then execute:
$ bundle
@@ -21,10 +35,53 @@
$ gem install valid_email2
## Usage
-TODO: Write usage instructions here
+### Use with ActiveModel
+
+If you just want to validate that it is a valid email address:
+```ruby
+class User < ActiveRecord::Base
+ validates :email, presence: true, email: true
+end
+```
+
+To validate that the domain has a MX record:
+```ruby
+validates :email, email: { mx: true }
+```
+
+To validate that the domain is not a disposable email:
+```ruby
+validates :email, email: { disposable: true }
+```
+
+All together:
+```ruby
+validates :email, email: { mx: true, disposable: true }
+```
+
+> Note that this gem will let an empty email pass through so you will need to
+> add `presence: true` if you require an email
+
+### Use without ActiveModel
+
+```ruby
+address = ValidEmail2::Address.new("lisinge@gmail.com")
+address.valid? => true
+address.disposable? => false
+address.valid_mx? => true
+```
+
+## Requirements
+
+This gem requires Rails 3.2 or 4.0. It is tested against both versions under:
+* Ruby-1.9
+* Ruby-2.0
+* JRuby-1.9
+* JRuby-2.0
+* Rubinius-1.9
## Contributing
1. Fork it
2. Create your feature branch (`git checkout -b my-new-feature`)