Class: Middleman::DnsResolver::BasicNetworkResolver
- Inherits:
-
Object
- Object
- Middleman::DnsResolver::BasicNetworkResolver
- Defined in:
- middleman-core/lib/middleman-core/dns_resolver/basic_network_resolver.rb
Overview
Use network name server to resolve ips and names
Direct Known Subclasses
Instance Attribute Summary collapse
-
#timeouts ⇒ Object
writeonly
Set timeout for lookup.
Instance Method Summary collapse
-
#getaddresses(name) ⇒ Array
Get ips for name.
-
#getnames(ip) ⇒ Array
Get names for ip.
-
#initialize(options_hash = ::Middleman::EMPTY_HASH) ⇒ BasicNetworkResolver
constructor
A new instance of BasicNetworkResolver.
Constructor Details
#initialize(options_hash = ::Middleman::EMPTY_HASH) ⇒ BasicNetworkResolver
Returns a new instance of BasicNetworkResolver.
13 14 15 |
# File 'middleman-core/lib/middleman-core/dns_resolver/basic_network_resolver.rb', line 13 def initialize( = ::Middleman::EMPTY_HASH) @timeouts = .fetch(:timeouts, 2) end |
Instance Attribute Details
#timeouts=(timeouts) ⇒ Object
Set timeout for lookup
47 48 49 50 51 |
# File 'middleman-core/lib/middleman-core/dns_resolver/basic_network_resolver.rb', line 47 def timeouts=(timeouts) return if RUBY_VERSION < '2' resolver.timeouts = timeouts end |
Instance Method Details
#getaddresses(name) ⇒ Array
Get ips for name
37 38 39 40 41 |
# File 'middleman-core/lib/middleman-core/dns_resolver/basic_network_resolver.rb', line 37 def getaddresses(name) resolver.getaddresses(name.to_s).map(&:to_s) rescue Resolv::ResolvError, Errno::EADDRNOTAVAIL, Errno::ENETUNREACH [] end |
#getnames(ip) ⇒ Array
Get names for ip
24 25 26 27 28 |
# File 'middleman-core/lib/middleman-core/dns_resolver/basic_network_resolver.rb', line 24 def getnames(ip) resolver.getnames(ip.to_s).map(&:to_s) rescue Resolv::ResolvError, Errno::EADDRNOTAVAIL, Errno::ENETUNREACH [] end |