class Middleman::DnsResolver

This resolves IP address to names and vice versa

def initialize(opts={})

Parameters:
  • local_resolver (#getnames, #getaddresses) --
  • network_resolver (#getnames, #getaddresses) --
def initialize(opts={})
  @resolvers = []
  @resolvers << opts.fetch(:hosts_resolver, HostsResolver.new)
  if RUBY_VERSION >= '2.1'
    require 'middleman-core/dns_resolver/local_link_resolver'
    @resolvers << opts.fetch(:local_link_resolver, LocalLinkResolver.new)
  end
  @resolvers << opts.fetch(:network_resolver, NetworkResolver.new)
end

def ips_for(name)

Parameters:
  • name (String) --
def ips_for(name)
  resolvers.each do |r|
    ips = r.getaddresses(name)
    return ips unless ips.nil? || ips.empty?
  end
  []
end

def names_for(ip)

Parameters:
  • ip (String) --
def names_for(ip)
  resolvers.each do |r|
    names = r.getnames(ip)
    return names unless names.nil? || names.empty?
  end
  []
end