emailist 0.0.12 → 0.0.13

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 5b41ead369300322d3a618548b730b1e54500bb8
4
- data.tar.gz: 1a8e709aa20fdd8f3dfccd02cec1150665251661
3
+ metadata.gz: af803bb2dda4fe80191c96fa40d8b2934fb7a959
4
+ data.tar.gz: 6ca0e667e90bc8638f42cab15c869a9e3d3de3dc
5
5
  SHA512:
6
- metadata.gz: 576e5cf4f9814273e94be3441a064eb7f07117c1ef2c98bb11a93f54a28c826efbd4c5577e171dfb2430510a9d72e40743d998482dbea57d5a30b6a74a8191b1
7
- data.tar.gz: 97d3312b05ce5fb86e2d74e69c483f6eded698fa7ede435d8a0a9300c467ec3d6834d3754215a872a62d6424a87f23c8ece627a05462ba6524254548753b2e3a
6
+ metadata.gz: b5f960339fd5f79cf7d650e42d9e0ea616e38a214d95db1f25bf09a4bfbf0e1cc6f0dd42112cc8b248ae00c5c07ae99412a78903cd1cef379bf9ae9fc3f5f0cc
7
+ data.tar.gz: d18145f2984e557dc7699ed1e51402b4adaa90c57e359ecd38c6006dd0812791b8b4afe12b157dc481371487dec376c060c404ffc5762a4e9d4b5b87e601aa0b
@@ -1,3 +1,3 @@
1
1
  class Emailist < Array
2
- VERSION = "0.0.12"
2
+ VERSION = "0.0.13"
3
3
  end
data/lib/emailist.rb CHANGED
@@ -1,3 +1,4 @@
1
+ require "resolv"
1
2
  require "net/ping"
2
3
  require "possible_email"
3
4
 
@@ -150,7 +151,21 @@ private
150
151
  def host_alive?(email)
151
152
  domain = email.split('@').last
152
153
 
153
- result = if live_hosts.include?(domain)
154
+ return true if live_hosts.include?(domain)
155
+ return false if dead_hosts.include?(domain)
156
+
157
+ resolv = Resolv::DNS.new(
158
+ nameserver: ['8.8.8.8'],
159
+ search: [],
160
+ ndots: 1
161
+ )
162
+ ip_addr = begin
163
+ resolv.getaddress(domain)
164
+ rescue Resolv::ResolvError
165
+ end
166
+ dns_result = ip_addr ? true : false
167
+
168
+ ping_result = if live_hosts.include?(domain)
154
169
  true
155
170
  elsif dead_hosts.include?(domain)
156
171
  false
@@ -158,6 +173,7 @@ private
158
173
  Net::Ping::External.new(domain).ping?
159
174
  end
160
175
 
176
+ result = (dns_result || ping_result)
161
177
  if result
162
178
  live_hosts.push(domain)
163
179
  live_hosts.uniq!
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: emailist
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.12
4
+ version: 0.0.13
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ethan Barron