lib/net/dns/resolver.rb in net-dns-0.4 vs lib/net/dns/resolver.rb in net-dns-0.5.0

- old
+ new

@@ -11,10 +11,33 @@ require 'net/dns/packet' require 'net/dns/resolver/timeouts' alias old_send send +# +# Resolver helper method +# +# Calling the resolver directly +# +# require 'net/dns/resolver' +# puts Resolver("www.google.com").answer.size +# #=> 5 +# +# An optional block can be passed yielding the Net::DNS::Packet object +# +# Resolver("www.google.com") {|packet| puts packet.size + " bytes"} +# #=> 484 bytes +# +def Resolver(name,type=Net::DNS::A,cls=Net::DNS::IN,&blk) + obj = Net::DNS::Resolver.start(name,type,cls) + if block_given? + yield obj + else + return obj + end +end + module Net # :nodoc: module DNS include Logger::Severity @@ -1018,9 +1041,21 @@ arr = [] send(name, Net::DNS::MX, cls).answer.each do |entry| arr << entry if entry.type == 'MX' end return arr.sort_by {|a| a.preference} + end + + # + # Quick resolver method. Bypass the configuration using + # the defaults. + # + # Example: + # + # puts Net::DNS::Resolver.start "www.google.com" + # + def self.start(*params) + self.new.search(*params) end private # Parse a configuration file specified as the argument.