Class Resolv
In: lib/resolv.rb
Parent: Object

Methods

Classes and Modules

Class Resolv::DNS
Class Resolv::Hosts
Class Resolv::IPv4
Class Resolv::IPv6
Class Resolv::ResolvError
Class Resolv::ResolvTimeout

Constants

DefaultResolver = self.new
AddressRegex = /(?:#{IPv4::Regex})|(?:#{IPv6::Regex})/

Public Class methods

[Source]

     # File lib/resolv.rb, line 211
211:   def self.each_address(name, &block)
212:     DefaultResolver.each_address(name, &block)
213:   end

[Source]

     # File lib/resolv.rb, line 223
223:   def self.each_name(address, &proc)
224:     DefaultResolver.each_name(address, &proc)
225:   end

[Source]

     # File lib/resolv.rb, line 203
203:   def self.getaddress(name)
204:     DefaultResolver.getaddress(name)
205:   end

[Source]

     # File lib/resolv.rb, line 207
207:   def self.getaddresses(name)
208:     DefaultResolver.getaddresses(name)
209:   end

[Source]

     # File lib/resolv.rb, line 215
215:   def self.getname(address)
216:     DefaultResolver.getname(address)
217:   end

[Source]

     # File lib/resolv.rb, line 219
219:   def self.getnames(address)
220:     DefaultResolver.getnames(address)
221:   end

[Source]

     # File lib/resolv.rb, line 227
227:   def initialize(resolvers=[Hosts.new, DNS.new])
228:     @resolvers = resolvers
229:   end

Public Instance methods

[Source]

     # 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

[Source]

     # 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

[Source]

     # 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

[Source]

     # File lib/resolv.rb, line 236
236:   def getaddresses(name)
237:     ret = []
238:     each_address(name) {|address| ret << address}
239:     return ret
240:   end

[Source]

     # 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

[Source]

     # File lib/resolv.rb, line 262
262:   def getnames(address)
263:     ret = []
264:     each_name(address) {|name| ret << name}
265:     return ret
266:   end

[Validate]