| Class | Resolv |
| In: |
lib/resolv.rb
|
| Parent: | Object |
| DefaultResolver | = | self.new |
| AddressRegex | = | /(?:#{IPv4::Regex})|(?:#{IPv6::Regex})/ |
# File lib/resolv.rb, line 206
206: def self.each_address(name, &block)
207: DefaultResolver.each_address(name, &block)
208: end
# File lib/resolv.rb, line 218
218: def self.each_name(address, &proc)
219: DefaultResolver.each_name(address, &proc)
220: end
# File lib/resolv.rb, line 198
198: def self.getaddress(name)
199: DefaultResolver.getaddress(name)
200: end
# File lib/resolv.rb, line 202
202: def self.getaddresses(name)
203: DefaultResolver.getaddresses(name)
204: end
# File lib/resolv.rb, line 210
210: def self.getname(address)
211: DefaultResolver.getname(address)
212: end
# File lib/resolv.rb, line 214
214: def self.getnames(address)
215: DefaultResolver.getnames(address)
216: end
# File lib/resolv.rb, line 222
222: def initialize(resolvers=[Hosts.new, DNS.new])
223: @resolvers = resolvers
224: end
# File lib/resolv.rb, line 237
237: def each_address(name)
238: if AddressRegex =~ name
239: yield name
240: return
241: end
242: yielded = false
243: @resolvers.each {|r|
244: r.each_address(name) {|address|
245: yield address.to_s
246: yielded = true
247: }
248: return if yielded
249: }
250: end
# File lib/resolv.rb, line 263
263: def each_name(address)
264: yielded = false
265: @resolvers.each {|r|
266: r.each_name(address) {|name|
267: yield name.to_s
268: yielded = true
269: }
270: return if yielded
271: }
272: end
# File lib/resolv.rb, line 226
226: def getaddress(name)
227: each_address(name) {|address| return address}
228: raise ResolvError.new("no address for #{name}")
229: end
# File lib/resolv.rb, line 231
231: def getaddresses(name)
232: ret = []
233: each_address(name) {|address| ret << address}
234: return ret
235: end
# File lib/resolv.rb, line 252
252: def getname(address)
253: each_name(address) {|name| return name}
254: raise ResolvError.new("no name for #{address}")
255: end