EmailDomainInclusion
EmailDomainInclusion is a custom ActiveModel::EachValidator that checks if a given email has a whitelisted domain
Installation
Add this line to your application's Gemfile:
gem 'email_domain_inclusion'
And then execute:
$ bundle
Or install it yourself as:
$ gem install email_domain_inclusion
Usage
class Person
include ActiveModel::Validations
attr_accessor :name, :email
validates :email, email_domain_inclusion: {allow_subdomains: true, allowed_domains: ["hotmail.com", "gmail.com"]}
end
You may also pass a Proc to allowed_domains
validates :email, email_domain_inclusion: {allowed_domains: ->(person) { AllowedDomains.pluck(:domain) }}
Contributing