Class: EmailCheck::EmailAddress
- Inherits:
-
Object
- Object
- EmailCheck::EmailAddress
- Defined in:
- lib/email_check/email_address.rb
Instance Method Summary collapse
- #blacklisted_domain? ⇒ Boolean
- #blocked_username? ⇒ Boolean
- #disposable? ⇒ Boolean
- #domain_has_mx? ⇒ Boolean
- #format_valid? ⇒ Boolean
- #free_email_provider? ⇒ Boolean
-
#initialize(email_address) ⇒ EmailAddress
constructor
A new instance of EmailAddress.
- #whitelisted_domain? ⇒ Boolean
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
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
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
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
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
12 13 14 |
# File 'lib/email_check/email_address.rb', line 12 def format_valid? @format_valid ||= check_format() end |
#free_email_provider? ⇒ 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
32 33 34 |
# File 'lib/email_check/email_address.rb', line 32 def whitelisted_domain? EmailCheck.whitelisted_domains.include?(@email.domain) end |