email_address 0.1.4 → 0.1.5
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/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
|