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 206
206:   def self.each_address(name, &block)
207:     DefaultResolver.each_address(name, &block)
208:   end

[Source]

     # File lib/resolv.rb, line 218
218:   def self.each_name(address, &proc)
219:     DefaultResolver.each_name(address, &proc)
220:   end

[Source]

     # File lib/resolv.rb, line 198
198:   def self.getaddress(name)
199:     DefaultResolver.getaddress(name)
200:   end

[Source]

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

[Source]

     # File lib/resolv.rb, line 210
210:   def self.getname(address)
211:     DefaultResolver.getname(address)
212:   end

[Source]

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

[Source]

     # File lib/resolv.rb, line 222
222:   def initialize(resolvers=[Hosts.new, DNS.new])
223:     @resolvers = resolvers
224:   end

Public Instance methods

[Source]

     # 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

[Source]

     # 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

[Source]

     # 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

[Source]

     # File lib/resolv.rb, line 231
231:   def getaddresses(name)
232:     ret = []
233:     each_address(name) {|address| ret << address}
234:     return ret
235:   end

[Source]

     # 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

[Source]

     # File lib/resolv.rb, line 257
257:   def getnames(address)
258:     ret = []
259:     each_name(address) {|name| ret << name}
260:     return ret
261:   end

[Validate]