class Dnsruby::Resolv
The Resolv
class can be used to resolve addresses using /etc/hosts and /etc/resolv.conf,
The DNS
class may be used to perform more queries. If greater control over the sending of packets is required, then the Resolver
or SingleResolver
classes may be used.
Constants
Public Class Methods
each_address(name, &block)
click to toggle source
Iterates over all IP addresses for name
# File lib/dnsruby.rb, line 503 def self.each_address(name, &block) DefaultResolver.each_address(name, &block) end
each_name(address, &proc)
click to toggle source
Iterates over all hostnames of address
# File lib/dnsruby.rb, line 518 def self.each_name(address, &proc) DefaultResolver.each_name(address, &proc) end
getaddress(name)
click to toggle source
Looks up the first IP address for name
# File lib/dnsruby.rb, line 493 def self.getaddress(name) DefaultResolver.getaddress(name) end
getaddresses(name)
click to toggle source
Looks up all IP addresses for name
# File lib/dnsruby.rb, line 498 def self.getaddresses(name) DefaultResolver.getaddresses(name) end
getname(address)
click to toggle source
Looks up the first hostname of address
# File lib/dnsruby.rb, line 508 def self.getname(address) DefaultResolver.getname(address) end
getnames(address)
click to toggle source
Looks up all hostnames of address
# File lib/dnsruby.rb, line 513 def self.getnames(address) DefaultResolver.getnames(address) end
new(resolvers=[Hosts.new, DNS.new])
click to toggle source
Creates a new Resolv
using resolvers
# File lib/dnsruby.rb, line 523 def initialize(resolvers=[Hosts.new, DNS.new]) @resolvers = resolvers end
Public Instance Methods
each_address(name) { |name| ... }
click to toggle source
Iterates over all IP addresses for name
# File lib/dnsruby.rb, line 541 def each_address(name) if AddressRegex =~ name yield name return end yielded = false @resolvers.each {|r| r.each_address(name) {|address| yield address.to_s yielded = true } return if yielded } end
each_name(address) { |name| ... }
click to toggle source
Iterates over all hostnames of address
# File lib/dnsruby.rb, line 570 def each_name(address) yielded = false @resolvers.each {|r| r.each_name(address) {|name| yield name.to_s yielded = true } return if yielded } end
getaddress(name)
click to toggle source
Looks up the first IP address for name
# File lib/dnsruby.rb, line 528 def getaddress(name) each_address(name) {|address| return address} raise ResolvError.new("no address for #{name}") end
getaddresses(name)
click to toggle source
Looks up all IP addresses for name
# File lib/dnsruby.rb, line 534 def getaddresses(name) ret = [] each_address(name) {|address| ret << address} return ret end
getname(address)
click to toggle source
Looks up the first hostname of address
# File lib/dnsruby.rb, line 557 def getname(address) each_name(address) {|name| return name} raise ResolvError.new("no name for #{address}") end
getnames(address)
click to toggle source
Looks up all hostnames of address
# File lib/dnsruby.rb, line 563 def getnames(address) ret = [] each_name(address) {|name| ret << name} return ret end