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