Module: Freemail
- Defined in:
- lib/freemail.rb,
lib/freemail/version.rb
Constant Summary collapse
- ROOT =
File.join(File.dirname(File.(__FILE__)), '../')
- DISPOSABLE =
Hash[File.readlines("#{ROOT}/data/disposable.txt").map { |d| [d.strip.downcase]
- FREE =
- VERSION =
'0.4.0'
Class Method Summary collapse
- .add_disposable_domains(custom_domains) ⇒ Object
- .add_free_domains(custom_domains) ⇒ Object
- .disposable?(email) ⇒ Boolean
- .free?(email) ⇒ Boolean
- .free_or_disposable?(email) ⇒ Boolean
- .get_domain(email) ⇒ Object
Class Method Details
.add_disposable_domains(custom_domains) ⇒ Object
8 9 10 11 |
# File 'lib/freemail.rb', line 8 def self.add_disposable_domains(custom_domains) custom_domains = [custom_domains] unless custom_domains.is_a? Array custom_domains.each { |domain| DISPOSABLE[domain] = nil } end |
.add_free_domains(custom_domains) ⇒ Object
13 14 15 16 |
# File 'lib/freemail.rb', line 13 def self.add_free_domains(custom_domains) custom_domains = [custom_domains] unless custom_domains.is_a? Array custom_domains.each { |domain| FREE[domain] = nil } end |
.disposable?(email) ⇒ Boolean
22 23 24 |
# File 'lib/freemail.rb', line 22 def self.disposable?(email) DISPOSABLE.key?(get_domain(email)) end |
.free?(email) ⇒ Boolean
18 19 20 |
# File 'lib/freemail.rb', line 18 def self.free?(email) FREE.key?(get_domain(email)) end |
.free_or_disposable?(email) ⇒ Boolean
26 27 28 |
# File 'lib/freemail.rb', line 26 def self.free_or_disposable?(email) free?(email) || disposable?(email) end |
.get_domain(email) ⇒ Object
30 31 32 |
# File 'lib/freemail.rb', line 30 def self.get_domain(email) email.split('@').last.downcase.strip end |