Parent

Class Index [+]

Quicksearch

Dnsruby::Hosts

Dnsruby::Hosts class

Dnsruby::Hosts is a hostname resolver that uses the system hosts file

class methods

methods

Constants

DefaultFileName
DefaultFileName

Public Class Methods

new(filename = DefaultFileName) click to toggle source

Creates a new Dnsruby::Hosts using filename for its data source

    # File lib/Dnsruby/Hosts.rb, line 43
43:     def initialize(filename = DefaultFileName)
44:       @filename = filename
45:       @mutex = Mutex.new
46:       @initialized = nil
47:     end

Public Instance Methods

each_address(name, &proc) click to toggle source

Iterates over all IP addresses for name retrieved from the hosts file

     # File lib/Dnsruby/Hosts.rb, line 98
 98:     def each_address(name, &proc)
 99:       lazy_initialize
100:       if @name2addr.include?(name)
101:         @name2addr[name].each(&proc)
102:       end
103:     end
each_name(address, &proc) click to toggle source

Iterates over all hostnames for address retrieved from the hosts file

     # File lib/Dnsruby/Hosts.rb, line 119
119:     def each_name(address, &proc)
120:       lazy_initialize
121:       if @addr2name.include?(address)
122:         @addr2name[address].each(&proc)
123:       end
124:     end
getaddress(name) click to toggle source

Gets the first IP address for name from the hosts file

    # File lib/Dnsruby/Hosts.rb, line 85
85:     def getaddress(name)
86:       each_address(name) {|address| return address}
87:       raise ResolvError.new("#{@filename} has no name: #{name}")
88:     end
getaddresses(name) click to toggle source

Gets all IP addresses for name from the hosts file

    # File lib/Dnsruby/Hosts.rb, line 91
91:     def getaddresses(name)
92:       ret = []
93:       each_address(name) {|address| ret << address}
94:       return ret
95:     end
getname(address) click to toggle source

Gets the first hostname of address from the hosts file

     # File lib/Dnsruby/Hosts.rb, line 106
106:     def getname(address)
107:       each_name(address) {|name| return name}
108:       raise ResolvError.new("#{@filename} has no address: #{address}")
109:     end
getnames(address) click to toggle source

Gets all hostnames for address from the hosts file

     # File lib/Dnsruby/Hosts.rb, line 112
112:     def getnames(address)
113:       ret = []
114:       each_name(address) {|name| ret << name}
115:       return ret
116:     end

Disabled; run with --debug to generate this.

[Validate]

Generated with the Darkfish Rdoc Generator 1.1.6.