lib/reversed.rb in reversed-0.4.0 vs lib/reversed.rb in reversed-0.4.1
- old
+ new
@@ -6,11 +6,11 @@
# modules
require "reversed/version"
module Reversed
- def self.lookup(ip, timeout: 5, nameservers: nil)
+ def self.lookup(ip, timeout: 5, nameservers: nil, fallback: true)
ip = ip.to_s
unless ip.empty?
begin
# ensure valid ip
ip = IPAddr.new(ip)
@@ -23,10 +23,13 @@
udp_timeout: timeout
}
options[:nameservers] = nameservers if nameservers
begin
resolver = Net::DNS::Resolver.new(options).search(ip.reverse, Net::DNS::PTR)
- answer = resolver.answer.first || resolver.authority.first
+ answer = resolver.answer.first
+ if !answer && fallback
+ answer = resolver.authority.first
+ end
if answer && !answer.value.empty?
answer.value.split(" ").first[0..-2]
end
rescue Net::DNS::Resolver::NoResponseError
nil