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