README.md in email_inquire-0.1.0 vs README.md in email_inquire-0.2.0

- old
+ new

@@ -1,10 +1,10 @@ # EmailInquire [![Gem Version](https://badge.fury.io/rb/email_inquire.svg)](https://badge.fury.io/rb/email_inquire) [![Build Status](https://travis-ci.org/maximeg/email_inquire.svg?branch=master)](https://travis-ci.org/maximeg/email_inquire) -EmailInquire is a library to validate email for common typos and one-time email provider. +EmailInquire is a library to validate email for common typos and one-time email providers. ## Why? Before an user is an user, it's a visitor. And he must register to be so. What if he makes a typo while entering its email address during the registration ? @@ -16,39 +16,44 @@ - may not remember exactly their email address; - may make a typo while typing their email address (very very common on a mobile keyboard). While we can't do so much for the name part of the email address, for the domain part, we can be smart! +And also, we don't want for users to use one-time email addresses (also called burner email addresses). + ### Supported cases -One char typo for common email providers of France, United Kingdom and USA: +One char typo for 43 common email providers of France, United Kingdom and USA: - `gmil.com` => hint `gmail.com` - `hitmail.com` => hint `hotmail.com` - `outloo.com` => hint `outlook.com` - `virinmedia.com` => hint `virginmedia.com` +- ... -United Kingdom `.xx.uk`: +United Kingdom `.xx.uk` domains: - `foo.couk` => hint `foo.co.uk` - `fooco.uk` => hint `foo.co.uk` - `foo.uk` => hint `foo.co.uk` - `foo.judiciary.uk` => ok! +- ... -Provider with an unique TLD domain: +Providers with an unique domain: - `gmail.fr` => hint `gmail.com` - `gmail.de` => hint `gmail.com` - `google.com` => hint `gmail.com` - `free.com` => hint `free.fr` - `laposte.com` => hint `laposte.net` - `laposte.fr` => hint `laposte.net` +- ... -One time email providers: +1375 one-time email providers (a.k.a. burners, [source](https://github.com/wesbos/burner-email-providers)): - `yopmail.com` => invalid -- more to come. +- ... ## Installation Add this line to your application's Gemfile: @@ -75,11 +80,11 @@ | --- | --- | --- | | `#email` | The validated email address | `"john.doe@gnail.com"` | | `#status` | The status of the validation | `:valid` `:invalid` or `:hint` | | `#valid?` | Is the email valid ? | `true` or `false` | | `#invalid?` | Is the email invalid ? | `true` or `false` | -| `#hint?` | Is there a possible mistake and you have to show an hint to the user ? | `true` or `false` | +| `#hint?` | Is there a possible mistake and you have to show a hint to the user ? | `true` or `false` | | `#replacement` | A proposal replacement email address for when status is `:hint` | `"john.doe@gmail.com"` or nil | ### Examples A valid case: @@ -118,29 +123,30 @@ - user remains in charge: we could have hinted against a perfectly valid email; - user is educated; - mini whaoo effect; -This _"Did you mean xxx@yyy.zzz ?"_ is better being actionable, and appearing to be so: a click or tap on it should replace the email by the suggestion. +This _"Did you mean xxx@yyy.zzz ?"_ is better being actionable, and appearing to be so: a click or +tap on it should replace the email by the suggestion. ``` +---------------------------------------+ +---------+ | john.doe@yaho.com | | Sign Up | +---------------------------------------+ +---------+ Did you mean john.doe@yahoo.com ? ``` -Note that you could even have this validation for your Sign In forms... +Note that you could even have this validation for your Sign In form... ## Development After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment. To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org). ## Contributing -Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/email_inquire. +Bug reports and pull requests are welcome on GitHub at https://github.com/maximeg/email_inquire. ## License The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).