| Class | Resolv |
| In: |
lib/resolv.rb
|
| Parent: | Object |
| DefaultResolver | = | self.new |
| AddressRegex | = | /(?:#{IPv4::Regex})|(?:#{IPv6::Regex})/ |
# File lib/resolv.rb, line 211
211: def self.each_address(name, &block)
212: DefaultResolver.each_address(name, &block)
213: end
# File lib/resolv.rb, line 223
223: def self.each_name(address, &proc)
224: DefaultResolver.each_name(address, &proc)
225: end
# File lib/resolv.rb, line 203
203: def self.getaddress(name)
204: DefaultResolver.getaddress(name)
205: end
# File lib/resolv.rb, line 207
207: def self.getaddresses(name)
208: DefaultResolver.getaddresses(name)
209: end
# File lib/resolv.rb, line 215
215: def self.getname(address)
216: DefaultResolver.getname(address)
217: end
# File lib/resolv.rb, line 219
219: def self.getnames(address)
220: DefaultResolver.getnames(address)
221: end
# File lib/resolv.rb, line 227
227: def initialize(resolvers=[Hosts.new, DNS.new])
228: @resolvers = resolvers
229: end
# File lib/resolv.rb, line 242
242: def each_address(name)
243: if AddressRegex =~ name
244: yield name
245: return
246: end
247: yielded = false
248: @resolvers.each {|r|
249: r.each_address(name) {|address|
250: yield address.to_s
251: yielded = true
252: }
253: return if yielded
254: }
255: end
# File lib/resolv.rb, line 268
268: def each_name(address)
269: yielded = false
270: @resolvers.each {|r|
271: r.each_name(address) {|name|
272: yield name.to_s
273: yielded = true
274: }
275: return if yielded
276: }
277: end
# File lib/resolv.rb, line 231
231: def getaddress(name)
232: each_address(name) {|address| return address}
233: raise ResolvError.new("no address for #{name}")
234: end
# File lib/resolv.rb, line 236
236: def getaddresses(name)
237: ret = []
238: each_address(name) {|address| ret << address}
239: return ret
240: end
# File lib/resolv.rb, line 257
257: def getname(address)
258: each_name(address) {|name| return name}
259: raise ResolvError.new("no name for #{address}")
260: end