Class: FakeEmailService
- Inherits:
-
Object
- Object
- FakeEmailService
- Defined in:
- lib/fake_email_service.rb
Instance Method Summary collapse
-
#initialize ⇒ FakeEmailService
constructor
A new instance of FakeEmailService.
- #is_fake_email?(email) ⇒ Boolean
Constructor Details
#initialize ⇒ FakeEmailService
Returns a new instance of FakeEmailService.
5 6 7 8 |
# File 'lib/fake_email_service.rb', line 5 def initialize fake_domains_file = File.('../../config/fake_domains.list', __FILE__) @fake_domains = File.readlines(fake_domains_file).map {|fd| fd.strip.downcase } end |
Instance Method Details
#is_fake_email?(email) ⇒ Boolean
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
# File 'lib/fake_email_service.rb', line 10 def is_fake_email?(email) return false if email.blank? email_address = Mail::Address.new(email) domain = email_address.domain.strip.downcase domain_parts = domain.split('.') second_level_domain = Array(domain_parts[-2..-1]).join('.') third_level_domain = Array(domain_parts[-3..-1]).join('.') domains = [domain, second_level_domain, third_level_domain].compact @fake_domains.any? {|fake_domain| domains.include?(fake_domain) } end |