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