Class: EmailCheck::EmailAddress

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

Instance Method Summary collapse

Constructor Details

#initialize(email_address) ⇒ EmailAddress

Returns a new instance of EmailAddress.



7
8
9
10
# File 'lib/email_check/email_address.rb', line 7

def initialize(email_address)
  @email_address = email_address.downcase
  @email = Mail::Address.new(@email_address) rescue nil
end

Instance Method Details

#blacklisted_domain?Boolean

Returns:

  • (Boolean)


24
25
26
27
28
29
30
# File 'lib/email_check/email_address.rb', line 24

def blacklisted_domain?
  EmailCheck.blacklisted_domains.each do |domain|
    return true if @email.domain.include?(domain)
  end

  false
end

#blocked_username?Boolean

Returns:

  • (Boolean)


36
37
38
# File 'lib/email_check/email_address.rb', line 36

def blocked_username?
  EmailCheck.blocked_usernames.include?(@email.local.downcase)
end

#disposable?Boolean

Returns:

  • (Boolean)


16
17
18
# File 'lib/email_check/email_address.rb', line 16

def disposable?
  EmailCheck.disposable_email_domains.include?(@email.domain)
end

#domain_has_mx?Boolean

Returns:

  • (Boolean)


40
41
42
43
44
45
46
47
# File 'lib/email_check/email_address.rb', line 40

def domain_has_mx?
  return false unless format_valid?
  val = false
  Resolv::DNS.open do |dns|
    val = dns.getresources(@email.domain, Resolv::DNS::Resource::IN::MX).any?
  end
  return val
end

#format_valid?Boolean

Returns:

  • (Boolean)


12
13
14
# File 'lib/email_check/email_address.rb', line 12

def format_valid?
  @format_valid ||= check_format()
end

#free_email_provider?Boolean

Returns:

  • (Boolean)


20
21
22
# File 'lib/email_check/email_address.rb', line 20

def free_email_provider?
  EmailCheck.free_email_domains.include?(@email.domain)
end

#whitelisted_domain?Boolean

Returns:

  • (Boolean)


32
33
34
# File 'lib/email_check/email_address.rb', line 32

def whitelisted_domain?
  EmailCheck.whitelisted_domains.include?(@email.domain)
end