| Class | Dnsruby::Resolv |
| In: |
lib/dnsruby.rb
|
| Parent: | Object |
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.
Iterates over all IP addresses for name
# File lib/dnsruby.rb, line 484
484: def self.each_address(name, &block)
485: DefaultResolver.each_address(name, &block)
486: end
Iterates over all hostnames of address
# File lib/dnsruby.rb, line 499
499: def self.each_name(address, &proc)
500: DefaultResolver.each_name(address, &proc)
501: end
Looks up the first IP address for name
# File lib/dnsruby.rb, line 474
474: def self.getaddress(name)
475: DefaultResolver.getaddress(name)
476: end
Looks up all IP addresses for name
# File lib/dnsruby.rb, line 479
479: def self.getaddresses(name)
480: DefaultResolver.getaddresses(name)
481: end
Looks up the first hostname of address
# File lib/dnsruby.rb, line 489
489: def self.getname(address)
490: DefaultResolver.getname(address)
491: end
Looks up all hostnames of address
# File lib/dnsruby.rb, line 494
494: def self.getnames(address)
495: DefaultResolver.getnames(address)
496: end
Iterates over all IP addresses for name
# File lib/dnsruby.rb, line 522
522: def each_address(name)
523: if AddressRegex =~ name
524: yield name
525: return
526: end
527: yielded = false
528: @resolvers.each {|r|
529: r.each_address(name) {|address|
530: yield address.to_s
531: yielded = true
532: }
533: return if yielded
534: }
535: end
Iterates over all hostnames of address
# File lib/dnsruby.rb, line 551
551: def each_name(address)
552: yielded = false
553: @resolvers.each {|r|
554: r.each_name(address) {|name|
555: yield name.to_s
556: yielded = true
557: }
558: return if yielded
559: }
560: end
Looks up the first IP address for name
# File lib/dnsruby.rb, line 509
509: def getaddress(name)
510: each_address(name) {|address| return address}
511: raise ResolvError.new("no address for #{name}")
512: end
Looks up all IP addresses for name
# File lib/dnsruby.rb, line 515
515: def getaddresses(name)
516: ret = []
517: each_address(name) {|address| ret << address}
518: return ret
519: end
Looks up the first hostname of address
# File lib/dnsruby.rb, line 538
538: def getname(address)
539: each_name(address) {|name| return name}
540: raise ResolvError.new("no name for #{address}")
541: end