In Files

Parent

Class Index [+]

Quicksearch

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

DefaultResolver

Default Resolver to use for Dnsruby class methods

AddressRegex

Address RegExp to use for matching IP addresses

Public Class Methods

each_address(name, &block) click to toggle source

Iterates over all IP addresses for name

     # File lib/dnsruby.rb, line 499
499:     def self.each_address(name, &block)
500:       DefaultResolver.each_address(name, &block)
501:     end
each_name(address, &proc) click to toggle source

Iterates over all hostnames of address

     # File lib/dnsruby.rb, line 514
514:     def self.each_name(address, &proc)
515:       DefaultResolver.each_name(address, &proc)
516:     end
getaddress(name) click to toggle source

Looks up the first IP address for name

     # File lib/dnsruby.rb, line 489
489:     def self.getaddress(name)
490:       DefaultResolver.getaddress(name)
491:     end
getaddresses(name) click to toggle source

Looks up all IP addresses for name

     # File lib/dnsruby.rb, line 494
494:     def self.getaddresses(name)
495:       DefaultResolver.getaddresses(name)
496:     end
getname(address) click to toggle source

Looks up the first hostname of address

     # File lib/dnsruby.rb, line 504
504:     def self.getname(address)
505:       DefaultResolver.getname(address)
506:     end
getnames(address) click to toggle source

Looks up all hostnames of address

     # File lib/dnsruby.rb, line 509
509:     def self.getnames(address)
510:       DefaultResolver.getnames(address)
511:     end
new(resolvers=[Hosts.new, DNS.new]) click to toggle source

Creates a new Resolv using resolvers

     # File lib/dnsruby.rb, line 519
519:     def initialize(resolvers=[Hosts.new, DNS.new])
520:       @resolvers = resolvers
521:     end

Public Instance Methods

each_address(name) click to toggle source

Iterates over all IP addresses for name

     # File lib/dnsruby.rb, line 537
537:     def each_address(name)
538:       if AddressRegex =~ name
539:         yield name
540:         return
541:       end
542:       yielded = false
543:       @resolvers.each {|r|
544:         r.each_address(name) {|address|
545:           yield address.to_s
546:           yielded = true
547:         }
548:         return if yielded
549:       }
550:     end
each_name(address) click to toggle source

Iterates over all hostnames of address

     # File lib/dnsruby.rb, line 566
566:     def each_name(address)
567:       yielded = false
568:       @resolvers.each {|r|
569:         r.each_name(address) {|name|
570:           yield name.to_s
571:           yielded = true
572:         }
573:         return if yielded
574:       }
575:     end
getaddress(name) click to toggle source

Looks up the first IP address for name

     # File lib/dnsruby.rb, line 524
524:     def getaddress(name)
525:       each_address(name) {|address| return address}
526:       raise ResolvError.new("no address for #{name}")
527:     end
getaddresses(name) click to toggle source

Looks up all IP addresses for name

     # File lib/dnsruby.rb, line 530
530:     def getaddresses(name)
531:       ret = []
532:       each_address(name) {|address| ret << address}
533:       return ret
534:     end
getname(address) click to toggle source

Looks up the first hostname of address

     # File lib/dnsruby.rb, line 553
553:     def getname(address)
554:       each_name(address) {|name| return name}
555:       raise ResolvError.new("no name for #{address}")
556:     end
getnames(address) click to toggle source

Looks up all hostnames of address

     # File lib/dnsruby.rb, line 559
559:     def getnames(address)
560:       ret = []
561:       each_name(address) {|name| ret << name}
562:       return ret
563:     end

Disabled; run with --debug to generate this.

[Validate]

Generated with the Darkfish Rdoc Generator 1.1.6.