email_address 0.1.4 → 0.1.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/email_address.gemspec +8 -4
- data/lib/email_address/config.rb +1 -0
- data/lib/email_address/exchanger.rb +5 -1
- data/lib/email_address/host.rb +4 -1
- data/lib/email_address/local.rb +3 -2
- data/lib/email_address/version.rb +1 -1
- data/test/email_address/test_host.rb +3 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f2dd7c65f4932e46e3a03d92c5c28d23862bb679
|
4
|
+
data.tar.gz: cd81d66ddb341143ac160351d99623823e2d1e20
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fcd8720fd24322f9b8a0f9959ef308e8281a5f2a5969d3b4679639dc99e769fa95b90a6d376e03edd6bc8812f5c27bdefb9595a4315bfcd84718a90a2573ec51
|
7
|
+
data.tar.gz: 17aeaf30ccd3ce8ca29b17f129821960e60148b10d91d3d33778e67cb554947f107961610c81c4cb05c0f38d12c67c50eca32a83d09d576da61e175653bac4be
|
data/email_address.gemspec
CHANGED
@@ -21,11 +21,15 @@ Gem::Specification.new do |spec|
|
|
21
21
|
spec.add_development_dependency "rake"
|
22
22
|
spec.add_development_dependency "minitest", "~> 5.8.3"
|
23
23
|
spec.add_development_dependency "bundler", "~> 1.3"
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
24
|
+
if RUBY_PLATFORM == 'java'
|
25
|
+
spec.add_development_dependency "activerecord", "= 4.2.5"
|
26
|
+
spec.add_development_dependency "activerecord-jdbcsqlite3-adapter", '=1.3.19'
|
27
|
+
else
|
28
|
+
spec.add_development_dependency "activerecord", "~> 5.1.3"
|
29
|
+
spec.add_development_dependency "sqlite3"
|
30
|
+
end
|
28
31
|
spec.add_development_dependency "codeclimate-test-reporter"
|
32
|
+
|
29
33
|
spec.add_dependency "simpleidn"
|
30
34
|
spec.add_dependency "netaddr"
|
31
35
|
end
|
data/lib/email_address/config.rb
CHANGED
@@ -49,7 +49,11 @@ module EmailAddress
|
|
49
49
|
ress = dns.getresources(@host, Resolv::DNS::Resource::IN::MX)
|
50
50
|
records = ress.map do |r|
|
51
51
|
begin
|
52
|
-
|
52
|
+
if r.exchange.to_s > " "
|
53
|
+
[r.exchange.to_s, IPSocket::getaddress(r.exchange.to_s), r.preference]
|
54
|
+
else
|
55
|
+
nil
|
56
|
+
end
|
53
57
|
rescue SocketError # not found, but could also mean network not work or it could mean one record doesn't resolve an address
|
54
58
|
nil
|
55
59
|
end
|
data/lib/email_address/host.rb
CHANGED
@@ -143,7 +143,10 @@ module EmailAddress
|
|
143
143
|
end
|
144
144
|
|
145
145
|
def host_name=(name)
|
146
|
-
@host_name = name = name.strip.downcase
|
146
|
+
@host_name = name = name.strip.downcase
|
147
|
+
if @config[:host_remove_spaces]
|
148
|
+
@host_name = @host_name.gsub(' ', '')
|
149
|
+
end
|
147
150
|
if host_name =~ /[^[:ascii:]]/
|
148
151
|
@dns_name = ::SimpleIDN.to_ascii(self.host_name)
|
149
152
|
else
|
data/lib/email_address/local.rb
CHANGED
@@ -91,9 +91,10 @@ module EmailAddress
|
|
91
91
|
# Quoted Token can also have: SPACE \" \\ ( ) , : ; < > @ [ \ ] .
|
92
92
|
STANDARD_LOCAL_WITHIN = /
|
93
93
|
(?: [\p{L}\p{N}\!\#\$\%\&\'\*\+\-\/\=\?\^\_\`\{\|\}\~\(\)]+
|
94
|
-
| \" (?: \\[\" \\] | [\x20
|
94
|
+
| \" (?: \\[\" \\] | [\x20-\x21\x23-\x2F\x3A-\x40\x5B\x5D-\x60\x7B-\x7E\p{L}\p{N}] )+ \" )
|
95
95
|
(?: \. (?: [\p{L}\p{N}\!\#\$\%\&\'\*\+\-\/\=\?\^\_\`\{\|\}\~\(\)]+
|
96
|
-
| \" (?: \\[\" \\] | [\x20
|
96
|
+
| \" (?: \\[\" \\] | [\x20-\x21\x23-\x2F\x3A-\x40\x5B\x5D-\x60\x7B-\x7E\p{L}\p{N}] )+ \" ) )* /x
|
97
|
+
|
97
98
|
STANDARD_LOCAL_REGEX = /\A #{STANDARD_LOCAL_WITHIN} \z/x
|
98
99
|
|
99
100
|
REDACTED_REGEX = /\A \{ [0-9a-f]{40} \} \z/x # {sha1}
|
@@ -104,9 +104,11 @@ class TestHost < MiniTest::Test
|
|
104
104
|
|
105
105
|
def test_yahoo_bad_tld
|
106
106
|
assert ! EmailAddress.valid?('test@yahoo.badtld')
|
107
|
+
assert ! EmailAddress.valid?('test@yahoo.wtf') # Registered, but MX IP = 0.0.0.0
|
107
108
|
end
|
108
109
|
|
109
110
|
def test_bad_formats
|
110
|
-
|
111
|
+
assert ! EmailAddress::Host.new('ya hoo.com').valid?
|
112
|
+
assert EmailAddress::Host.new('ya hoo.com', host_remove_spaces:true).valid?
|
111
113
|
end
|
112
114
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: email_address
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Allen Fair
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-12-
|
11
|
+
date: 2017-12-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|