module MailChecker

Constants

BLACKLIST

Blacklisted domains

EMAIL_REGEX

Public Class Methods

add_custom_domains(domains) click to toggle source
# File platform/ruby/mail_checker.rb, line 21
def self.add_custom_domains(domains)
  domains.each do |domain|
    BLACKLIST.add(domain)
  end
end
blacklisted?(email) click to toggle source
# File platform/ruby/mail_checker.rb, line 17
def self.blacklisted?(email)
  extract_all_domain_suffixes(email).any? { |domain| BLACKLIST.include?(domain) }
end
extract_all_domain_suffixes(email) click to toggle source
# File platform/ruby/mail_checker.rb, line 27
def self.extract_all_domain_suffixes(email)
  domain = email.to_s.gsub(/.+@([^.]+)/, '\1').downcase

  domain_components = domain.split('.')

  (0...domain_components.length).map { |n| domain_components.drop(n).join('.') }
end
valid?(email) click to toggle source
# File platform/ruby/mail_checker.rb, line 9
def self.valid?(email)
  valid_email?(email) && !blacklisted?(email)
end
valid_email?(email) click to toggle source
# File platform/ruby/mail_checker.rb, line 13
def self.valid_email?(email)
  !email.nil? && !!(email =~ EMAIL_REGEX)
end