Class: FakeFilter

Inherits:
Object
  • Object
show all
Defined in:
lib/fake_filter.rb

Class Method Summary collapse

Class Method Details

.email_dataObject



16
17
18
19
20
21
22
# File 'lib/fake_filter.rb', line 16

def self.email_data
  spec = Gem::Specification.find_by_name("fake_filter")
  gem_root = spec.gem_dir
  file = File.read(gem_root + '/lib/data.json')
  data_hash = JSON.parse(file)
  data_hash
end

.is_disposable_email?(email) ⇒ Boolean

Returns:

  • (Boolean)


3
4
5
6
7
8
9
10
11
12
13
14
# File 'lib/fake_filter.rb', line 3

def self.is_disposable_email?(email)
  begin
    domain = email.split('@').last.delete(' ').downcase
    data_hash = FakeFilter.email_data
    return true if data_hash['domains'].keys.include?(domain)
    return true if data_hash['domains'].any? {|key, value| value['provider'] == domain}
    false
  rescue => e
    Rails.logger.warn "Error in is_disposable_email? #{e.message}"
    true # Assumed email is invalid when error happened
  end
end