Sha256: d3d597a9e8ce75facbc335563d5f486d2f9fd9aa742198ff73644af22cc79a53
Contents?: true
Size: 1.15 KB
Versions: 1
Compression:
Stored size: 1.15 KB
Contents
module Middleman class DnsResolver # Use network name server to resolve ips and names class BasicNetworkResolver private attr_reader :resolver, :timeouts public def initialize(opts={}) @timeouts = opts.fetch(:timeouts, 2) end # Get names for ip # # @param [#to_s] ip # The ip to resolve into names # # @return [Array] # Array of Names def getnames(ip) resolver.getnames(ip.to_s).map(&:to_s) rescue Resolv::ResolvError, Errno::EADDRNOTAVAIL, Errno::ENETUNREACH [] end # Get ips for name # # @param [#to_s] name # The name to resolve into ips # # @return [Array] # Array of ipaddresses def getaddresses(name) resolver.getaddresses(name.to_s).map(&:to_s) rescue Resolv::ResolvError, Errno::EADDRNOTAVAIL, Errno::ENETUNREACH [] end # Set timeout for lookup # # @param [Integer] value # The timeout value def timeouts=(timeouts) return if RUBY_VERSION < '2' resolver.timeouts = timeouts end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
middleman-core-3.4.1 | lib/middleman-core/dns_resolver/basic_network_resolver.rb |