Class | Dnsruby::Hosts |
In: |
lib/Dnsruby/Hosts.rb
|
Parent: | Object |
Dnsruby::Hosts is a hostname resolver that uses the system hosts file
address lookup methods.
hostnames lookup methods.
DefaultFileName | = | Win32::Resolv.get_hosts_path |
DefaultFileName | = | '/etc/hosts' |
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
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
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
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
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
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