Class: Middleman::DnsResolver::BasicNetworkResolver

Inherits:
Object
  • Object
show all
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

LocalLinkResolver, NetworkResolver

Instance Attribute Summary collapse

Instance Method Summary collapse

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(options_hash = ::Middleman::EMPTY_HASH)
  @timeouts = options_hash.fetch(:timeouts, 2)
end

Instance Attribute Details

#timeouts=(timeouts) ⇒ Object

Set timeout for lookup

Parameters:

  • value (Integer)

    The timeout value


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

Parameters:

  • name (#to_s)

    The name to resolve into ips

Returns:

  • (Array)

    Array of ipaddresses


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

Parameters:

  • ip (#to_s)

    The ip to resolve into names

Returns:

  • (Array)

    Array of Names


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