email_data 1601711723 → 1602274654
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.rubocop.yml +13 -0
- data/README.md +122 -0
- data/Rakefile +4 -1
- data/VERSION +1 -1
- data/bin/helpers.rb +2 -0
- data/bin/publish-gem +1 -1
- data/bin/publish-npm +1 -1
- data/bin/sync-disposable-emails +4 -4
- data/data/country_tlds.txt +1 -0
- data/data/disposable_domains.txt +1327 -39
- data/data/disposable_emails.txt +10 -0
- data/data/tlds.txt +0 -1
- data/email_data.gemspec +2 -1
- data/lib/email_data.rb +20 -25
- data/lib/email_data/source/active_record.rb +73 -0
- data/lib/email_data/source/file_system.rb +37 -0
- data/package.json +1 -1
- metadata +19 -3
data/data/disposable_emails.txt
CHANGED
@@ -2,11 +2,15 @@ abdumuhammadalitmp@gmail.com
|
|
2
2
|
alissiabucknertmp@gmail.com
|
3
3
|
andykingsolomontmp@gmail.com
|
4
4
|
aypztmpcovdzylqkd@gmail.com
|
5
|
+
braylenmidletontmp@gmail.com
|
5
6
|
chadfranciscojrtmp@gmail.com
|
6
7
|
christianjosephtmp@gmail.com
|
7
8
|
christopherjohntmp@gmail.com
|
8
9
|
christopherpaultmp@gmail.com
|
10
|
+
deandregriffithtmp@gmail.com
|
11
|
+
emmettbradleytmp@gmail.com
|
9
12
|
ezradiamondiquetmp@gmail.com
|
13
|
+
fletcheerharveytmp@gmail.com
|
10
14
|
hannahelizabethtmp@gmail.com
|
11
15
|
jackquelinebanetmp@gmail.com
|
12
16
|
janerebeccalynntmp@gmail.com
|
@@ -20,11 +24,13 @@ laurenelizabethtmp@gmail.com
|
|
20
24
|
leahmarykathryntmp@gmail.com
|
21
25
|
luisgabrielcarltmp@gmail.com
|
22
26
|
lynnvanessaannetmp@gmail.com
|
27
|
+
marcusguzmantmp@gmail.com
|
23
28
|
mariadelosangeltmp@gmail.com
|
24
29
|
mariadelrosariotmp@gmail.com
|
25
30
|
markchristophertmp@gmail.com
|
26
31
|
mfpstmpmaicdyhxkr@gmail.com
|
27
32
|
mosktmpexreaiwftv@gmail.com
|
33
|
+
natashamendeztmp@gmail.com
|
28
34
|
nathanluisjamestmp@gmail.com
|
29
35
|
neilnathanjamestmp@gmail.com
|
30
36
|
nicolemarieclaytmp@gmail.com
|
@@ -34,5 +40,9 @@ phillistinebanetmp@gmail.com
|
|
34
40
|
seanbernardettetmp@gmail.com
|
35
41
|
stellafortunatatmp@gmail.com
|
36
42
|
tamikawilkinsontmp@gmail.com
|
43
|
+
terrancehowelltmp@gmail.com
|
44
|
+
tiffanynormantmp@gmail.com
|
45
|
+
tonysamueldavidtmp@gmail.com
|
37
46
|
victoriannakoletmp@gmail.com
|
47
|
+
vihaanwhitfieldtmp@gmail.com
|
38
48
|
xbgxtmpqwgztzcfav@gmail.com
|
data/data/tlds.txt
CHANGED
data/email_data.gemspec
CHANGED
@@ -29,11 +29,12 @@ Gem::Specification.new do |spec|
|
|
29
29
|
spec.executables = spec.files.grep(%r{^exe/}) {|f| File.basename(f) }
|
30
30
|
spec.require_paths = ["lib"]
|
31
31
|
|
32
|
-
spec.add_development_dependency "
|
32
|
+
spec.add_development_dependency "activerecord"
|
33
33
|
spec.add_development_dependency "aitch"
|
34
34
|
spec.add_development_dependency "bundler"
|
35
35
|
spec.add_development_dependency "minitest"
|
36
36
|
spec.add_development_dependency "minitest-utils"
|
37
|
+
spec.add_development_dependency "pg"
|
37
38
|
spec.add_development_dependency "rake"
|
38
39
|
spec.add_development_dependency "root_domain"
|
39
40
|
spec.add_development_dependency "rubocop"
|
data/lib/email_data.rb
CHANGED
@@ -1,39 +1,34 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
require "forwardable"
|
3
4
|
require "pathname"
|
4
|
-
require "email_data/version"
|
5
5
|
|
6
6
|
module EmailData
|
7
|
-
|
8
|
-
|
7
|
+
require "email_data/version"
|
8
|
+
require "email_data/source/file_system"
|
9
|
+
|
10
|
+
class << self
|
11
|
+
extend Forwardable
|
12
|
+
|
13
|
+
def_delegators :source,
|
14
|
+
:disposable_domains,
|
15
|
+
:disposable_emails,
|
16
|
+
:country_tlds,
|
17
|
+
:free_email_domains,
|
18
|
+
:tlds
|
9
19
|
end
|
10
20
|
|
11
|
-
def self.
|
12
|
-
@
|
21
|
+
def self.source=(source)
|
22
|
+
@source = source
|
13
23
|
end
|
14
24
|
|
15
|
-
def self.
|
16
|
-
@
|
25
|
+
def self.source
|
26
|
+
@source
|
17
27
|
end
|
18
28
|
|
19
|
-
def self.
|
20
|
-
|
21
|
-
end
|
22
|
-
|
23
|
-
def self.disposable_domains
|
24
|
-
@disposable_domains ||= load_file("disposable_domains.txt")
|
25
|
-
end
|
26
|
-
|
27
|
-
def self.free_email_domains
|
28
|
-
@free_email_domains ||= load_file("free_email_domains.txt")
|
29
|
+
def self.data_dir
|
30
|
+
Pathname.new(File.expand_path("../data", __dir__))
|
29
31
|
end
|
30
32
|
|
31
|
-
|
32
|
-
data_dir
|
33
|
-
.join(filename)
|
34
|
-
.read
|
35
|
-
.lines
|
36
|
-
.map(&:chomp)
|
37
|
-
.reject(&:empty?)
|
38
|
-
end
|
33
|
+
self.source = EmailData::Source::FileSystem
|
39
34
|
end
|
@@ -0,0 +1,73 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "email_data"
|
4
|
+
|
5
|
+
begin
|
6
|
+
require "active_record"
|
7
|
+
rescue LoadError
|
8
|
+
raise "activerecord is not part of the bundle. Add it to Gemfile."
|
9
|
+
end
|
10
|
+
|
11
|
+
module EmailData
|
12
|
+
module Source
|
13
|
+
class ActiveRecord
|
14
|
+
class ApplicationRecord < ::ActiveRecord::Base
|
15
|
+
self.abstract_class = true
|
16
|
+
end
|
17
|
+
|
18
|
+
class TLD < ApplicationRecord
|
19
|
+
self.table_name = "tlds"
|
20
|
+
end
|
21
|
+
|
22
|
+
class CountryTLD < ApplicationRecord
|
23
|
+
self.table_name = "country_tlds"
|
24
|
+
end
|
25
|
+
|
26
|
+
class DisposableEmail < ApplicationRecord
|
27
|
+
self.table_name = "disposable_emails"
|
28
|
+
end
|
29
|
+
|
30
|
+
class DisposableDomain < ApplicationRecord
|
31
|
+
self.table_name = "disposable_domains"
|
32
|
+
end
|
33
|
+
|
34
|
+
class FreeEmailDomain < ApplicationRecord
|
35
|
+
self.table_name = "free_email_domains"
|
36
|
+
end
|
37
|
+
|
38
|
+
class Collection
|
39
|
+
def initialize(model)
|
40
|
+
@model = model
|
41
|
+
end
|
42
|
+
|
43
|
+
def include?(value)
|
44
|
+
@model.where(name: value).exists?
|
45
|
+
end
|
46
|
+
|
47
|
+
def each(&block)
|
48
|
+
@model.find_each(&block)
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
52
|
+
def self.tlds
|
53
|
+
@tlds ||= Collection.new(TLD)
|
54
|
+
end
|
55
|
+
|
56
|
+
def self.country_tlds
|
57
|
+
@country_tlds ||= Collection.new(CountryTLD)
|
58
|
+
end
|
59
|
+
|
60
|
+
def self.disposable_emails
|
61
|
+
@disposable_emails ||= Collection.new(DisposableEmail)
|
62
|
+
end
|
63
|
+
|
64
|
+
def self.disposable_domains
|
65
|
+
@disposable_domains ||= Collection.new(DisposableDomain)
|
66
|
+
end
|
67
|
+
|
68
|
+
def self.free_email_domains
|
69
|
+
@free_email_domains ||= Collection.new(FreeEmailDomain)
|
70
|
+
end
|
71
|
+
end
|
72
|
+
end
|
73
|
+
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module EmailData
|
4
|
+
module Source
|
5
|
+
class FileSystem
|
6
|
+
def self.tlds
|
7
|
+
@tlds ||= load_file("tlds.txt")
|
8
|
+
end
|
9
|
+
|
10
|
+
def self.country_tlds
|
11
|
+
@country_tlds ||= load_file("country_tlds.txt")
|
12
|
+
end
|
13
|
+
|
14
|
+
def self.disposable_emails
|
15
|
+
@disposable_emails ||= load_file("disposable_emails.txt")
|
16
|
+
end
|
17
|
+
|
18
|
+
def self.disposable_domains
|
19
|
+
@disposable_domains ||= load_file("disposable_domains.txt")
|
20
|
+
end
|
21
|
+
|
22
|
+
def self.free_email_domains
|
23
|
+
@free_email_domains ||= load_file("free_email_domains.txt")
|
24
|
+
end
|
25
|
+
|
26
|
+
def self.load_file(filename)
|
27
|
+
EmailData
|
28
|
+
.data_dir
|
29
|
+
.join(filename)
|
30
|
+
.read
|
31
|
+
.lines
|
32
|
+
.map(&:chomp)
|
33
|
+
.reject(&:empty?)
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
data/package.json
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"name": "@fnando/email_data",
|
3
3
|
"description": "This project is a compilation of datasets related to emails. Includes disposable emails, disposable domains, and free email services.",
|
4
|
-
"version": "
|
4
|
+
"version": "1602274654.0.0",
|
5
5
|
"license": "MIT",
|
6
6
|
"repository": {
|
7
7
|
"type": "git",
|
metadata
CHANGED
@@ -1,17 +1,17 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: email_data
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: '
|
4
|
+
version: '1602274654'
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nando Vieira
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-10-
|
11
|
+
date: 2020-10-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
-
name:
|
14
|
+
name: activerecord
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
17
|
- - ">="
|
@@ -80,6 +80,20 @@ dependencies:
|
|
80
80
|
- - ">="
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: '0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: pg
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ">="
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
83
97
|
- !ruby/object:Gem::Dependency
|
84
98
|
name: rake
|
85
99
|
requirement: !ruby/object:Gem::Requirement
|
@@ -189,6 +203,8 @@ files:
|
|
189
203
|
- data/tlds.txt
|
190
204
|
- email_data.gemspec
|
191
205
|
- lib/email_data.rb
|
206
|
+
- lib/email_data/source/active_record.rb
|
207
|
+
- lib/email_data/source/file_system.rb
|
192
208
|
- lib/email_data/version.rb
|
193
209
|
- package.json
|
194
210
|
homepage: https://github.com/fnando/email_data
|