email_inquire 0.6.0 → 0.7.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +3 -0
- data/.rubocop.yml +84 -31
- data/.travis.yml +1 -1
- data/CHANGELOG.md +17 -1
- data/Guardfile +1 -1
- data/README.md +6 -6
- data/data/known_invalid_domains.txt +1 -0
- data/data/one_time_email_providers.txt +1656 -1
- data/email_inquire.gemspec +17 -16
- data/lib/email_inquire/email_validator.rb +0 -2
- data/lib/email_inquire/inquirer.rb +11 -5
- data/lib/email_inquire/response.rb +0 -2
- data/lib/email_inquire/version.rb +1 -1
- metadata +16 -15
data/email_inquire.gemspec
CHANGED
@@ -6,29 +6,30 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
6
6
|
require "email_inquire/version"
|
7
7
|
|
8
8
|
Gem::Specification.new do |spec|
|
9
|
-
spec.name
|
10
|
-
spec.version
|
11
|
-
spec.authors
|
12
|
-
spec.email
|
9
|
+
spec.name = "email_inquire"
|
10
|
+
spec.version = EmailInquire::VERSION
|
11
|
+
spec.authors = ["Maxime Garcia"]
|
12
|
+
spec.email = ["maxime.garcia@gmail.com"]
|
13
13
|
|
14
|
-
spec.summary
|
15
|
-
spec.description
|
16
|
-
spec.homepage
|
17
|
-
spec.license
|
14
|
+
spec.summary = "Library to validate email for format, common typos and one-time email providers"
|
15
|
+
spec.description = "Library to validate email for format, common typos and one-time email providers"
|
16
|
+
spec.homepage = "https://github.com/maximeg/email_inquire"
|
17
|
+
spec.license = "MIT"
|
18
18
|
|
19
19
|
spec.required_ruby_version = ">= 2.0.0"
|
20
20
|
|
21
|
-
spec.files =
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
spec.
|
21
|
+
spec.files =
|
22
|
+
`git ls-files -z`.split("\x0").reject do |f|
|
23
|
+
f.match(%r{^(test|spec|features)/})
|
24
|
+
end
|
25
|
+
spec.bindir = "exe"
|
26
|
+
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
26
27
|
spec.require_paths = ["lib"]
|
27
28
|
|
28
29
|
spec.add_runtime_dependency "damerau-levenshtein", "~> 1.2"
|
29
30
|
|
30
|
-
spec.add_development_dependency "bundler", "~> 1.
|
31
|
+
spec.add_development_dependency "bundler", "~> 1.15"
|
31
32
|
spec.add_development_dependency "rake", "~> 10.0"
|
32
|
-
spec.add_development_dependency "
|
33
|
-
spec.add_development_dependency "
|
33
|
+
spec.add_development_dependency "rubocop", "0.49.0"
|
34
|
+
spec.add_development_dependency "rspec", "~> 3.6.0"
|
34
35
|
end
|
@@ -4,7 +4,6 @@ require "damerau-levenshtein"
|
|
4
4
|
require "set"
|
5
5
|
|
6
6
|
module EmailInquire
|
7
|
-
|
8
7
|
class Inquirer
|
9
8
|
|
10
9
|
class << self
|
@@ -32,6 +31,7 @@ module EmailInquire
|
|
32
31
|
VALIDATORS = %i[
|
33
32
|
validate_common_domains
|
34
33
|
validate_one_time_providers
|
34
|
+
validate_known_invalid_domains
|
35
35
|
validate_common_domain_mistakes
|
36
36
|
validate_cc_tld
|
37
37
|
validate_common_tld_mistakes
|
@@ -63,9 +63,10 @@ module EmailInquire
|
|
63
63
|
end
|
64
64
|
|
65
65
|
def response
|
66
|
-
@response ||=
|
67
|
-
|
68
|
-
|
66
|
+
@response ||=
|
67
|
+
Response.new.tap do |response|
|
68
|
+
response.email = email
|
69
|
+
end
|
69
70
|
end
|
70
71
|
|
71
72
|
COMMON_DOMAIN_MISTAKES = {
|
@@ -161,6 +162,11 @@ module EmailInquire
|
|
161
162
|
response.invalid! if ONE_TIME_EMAIL_PROVIDERS.include?(domain)
|
162
163
|
end
|
163
164
|
|
164
|
-
|
165
|
+
KNOWN_INVALID_DOMAINS = load_data("known_invalid_domains").freeze
|
165
166
|
|
167
|
+
def validate_known_invalid_domains
|
168
|
+
response.invalid! if KNOWN_INVALID_DOMAINS.include?(domain)
|
169
|
+
end
|
170
|
+
|
171
|
+
end
|
166
172
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: email_inquire
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.7.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Maxime Garcia
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-05-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: damerau-levenshtein
|
@@ -30,14 +30,14 @@ dependencies:
|
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '1.
|
33
|
+
version: '1.15'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '1.
|
40
|
+
version: '1.15'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: rake
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -53,33 +53,33 @@ dependencies:
|
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '10.0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
|
-
name:
|
56
|
+
name: rubocop
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- -
|
59
|
+
- - '='
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version:
|
61
|
+
version: 0.49.0
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- -
|
66
|
+
- - '='
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version:
|
68
|
+
version: 0.49.0
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
|
-
name:
|
70
|
+
name: rspec
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
|
-
- -
|
73
|
+
- - "~>"
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version:
|
75
|
+
version: 3.6.0
|
76
76
|
type: :development
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
|
-
- -
|
80
|
+
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version:
|
82
|
+
version: 3.6.0
|
83
83
|
description: Library to validate email for format, common typos and one-time email
|
84
84
|
providers
|
85
85
|
email:
|
@@ -104,6 +104,7 @@ files:
|
|
104
104
|
- data/br_tld.txt
|
105
105
|
- data/common_providers.txt
|
106
106
|
- data/jp_tld.txt
|
107
|
+
- data/known_invalid_domains.txt
|
107
108
|
- data/one_time_email_providers.txt
|
108
109
|
- data/uk_tld.txt
|
109
110
|
- data/unique_domain_providers.txt
|
@@ -133,7 +134,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
133
134
|
version: '0'
|
134
135
|
requirements: []
|
135
136
|
rubyforge_project:
|
136
|
-
rubygems_version: 2.6.
|
137
|
+
rubygems_version: 2.6.12
|
137
138
|
signing_key:
|
138
139
|
specification_version: 4
|
139
140
|
summary: Library to validate email for format, common typos and one-time email providers
|