Class | Resolv::Hosts |
In: |
lib/resolv.rb
|
Parent: | Object |
DNS::Hosts is a hostname resolver that uses the system hosts file.
DefaultFileName | = | Win32::Resolv.get_hosts_path |
DefaultFileName | = | '/etc/hosts' |
Creates a new DNS::Hosts, using filename for its data source.
# File lib/resolv.rb, line 178 178: def initialize(filename = DefaultFileName) 179: @filename = filename 180: @mutex = Mutex.new 181: @initialized = nil 182: end
Iterates over all IP addresses for name retrieved from the hosts file.
# File lib/resolv.rb, line 235 235: def each_address(name, &proc) 236: lazy_initialize 237: if @name2addr.include?(name) 238: @name2addr[name].each(&proc) 239: end 240: end
Iterates over all hostnames for address retrieved from the hosts file.
# File lib/resolv.rb, line 262 262: def each_name(address, &proc) 263: lazy_initialize 264: if @addr2name.include?(address) 265: @addr2name[address].each(&proc) 266: end 267: end
Gets the IP address of name from the hosts file.
# File lib/resolv.rb, line 218 218: def getaddress(name) 219: each_address(name) {|address| return address} 220: raise ResolvError.new("#{@filename} has no name: #{name}") 221: end
Gets all IP addresses for name from the hosts file.
# File lib/resolv.rb, line 226 226: def getaddresses(name) 227: ret = [] 228: each_address(name) {|address| ret << address} 229: return ret 230: end
Gets the hostname of address from the hosts file.
# File lib/resolv.rb, line 245 245: def getname(address) 246: each_name(address) {|name| return name} 247: raise ResolvError.new("#{@filename} has no address: #{address}") 248: end