Sha256: ce92ed019adcaee12f0a5e2d5e1c3e051c66fb9ac570b4ba123108598e9a1650

Contents?: true

Size: 1.4 KB

Versions: 1

Compression:

Stored size: 1.4 KB

Contents

# EmailDomainValidator

Email address's domain validator by checking presence of MX and A record.

Extra filters are available such as caching and whitelisting.

## Installation

Add this line to your application's Gemfile:

```ruby
gem 'email_domain_validator'
```

And then execute:

    $ bundle

Or install it yourself as:

    $ gem install email_domain_validator

## Usage

Validate email:

    v = EmailDomainValidator.new
    v.valid?('saki@yahoo.co.jp')

Add cache filter

    v.add_filter(:rails_cache, expires_in: 12.hours)
    v.valid?('saki@yahoo.co.jp')
    v.valid?('amy@yahoo.co.jp') # same domain will not be checked again

## Filters

### dummy

Always returns true. Useful for testing or development purposes.

    v.add_filter(:dummy)

### rails_cache

Use Rails' caching capability to cache lookup results. Options used in Rails caching such as :expires_in can be used here.

    v.add_filter(:rails_cache, expires_in: 12.hours, race_condition_ttl: 1)

### whitelist

Declare a whitelist of domains which will always be considered valid.

    v.add_filter(:rails_cache, ['yahoo.com.tw', 'gmail.com'])

## Contributing

1. Fork it ( https://github.com/[my-github-username]/email_domain_validator/fork )
2. Create your feature branch (`git checkout -b my-new-feature`)
3. Commit your changes (`git commit -am 'Add some feature'`)
4. Push to the branch (`git push origin my-new-feature`)
5. Create a new Pull Request

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
email_domain_validator-0.0.1 README.md