Class: IPv6FavorResolv
- Inherits:
-
Object
- Object
- IPv6FavorResolv
- Defined in:
- lib/resolv-ipv6favor.rb
Overview
=Resolver class that resolves AAAA record first, then A record
Constant Summary collapse
- DefaultResolver =
self.new
Class Method Summary collapse
Instance Method Summary collapse
- #each_address(name) ⇒ Object
- #getaddress(name) ⇒ Object
- #getaddresses(name) ⇒ Object
-
#initialize(resolv_conf = '/etc/resolv.conf') ⇒ IPv6FavorResolv
constructor
A new instance of IPv6FavorResolv.
Constructor Details
#initialize(resolv_conf = '/etc/resolv.conf') ⇒ IPv6FavorResolv
Returns a new instance of IPv6FavorResolv.
20 21 22 |
# File 'lib/resolv-ipv6favor.rb', line 20 def initialize(resolv_conf='/etc/resolv.conf') @r = Resolv::DNS.new(resolv_conf) end |
Class Method Details
.each_address(name) ⇒ Object
8 9 10 |
# File 'lib/resolv-ipv6favor.rb', line 8 def self.each_address(name) DefaultResolver.each_address(name) end |
.getaddress(name) ⇒ Object
16 17 18 |
# File 'lib/resolv-ipv6favor.rb', line 16 def self.getaddress(name) DefaultResolver.getaddress(name) end |
.getaddresses(name) ⇒ Object
12 13 14 |
# File 'lib/resolv-ipv6favor.rb', line 12 def self.getaddresses(name) DefaultResolver.getaddresses(name) end |
Instance Method Details
#each_address(name) ⇒ Object
25 26 27 28 |
# File 'lib/resolv-ipv6favor.rb', line 25 def each_address(name) @r.each_resource(name, Resolv::DNS::Resource::IN::AAAA) {|resource| yield resource.address} @r.each_resource(name, Resolv::DNS::Resource::IN::A) {|resource| yield resource.address} end |
#getaddress(name) ⇒ Object
36 37 38 |
# File 'lib/resolv-ipv6favor.rb', line 36 def getaddress(name) getaddresses(name)[0] end |
#getaddresses(name) ⇒ Object
30 31 32 33 34 |
# File 'lib/resolv-ipv6favor.rb', line 30 def getaddresses(name) res = [] each_address(name) { |addr| res << addr} res end |