Module: AwsPublicIps::Utils

Defined in:
lib/aws_public_ips/utils.rb

Class Method Summary collapse

Class Method Details

.resolve_hostname(hostname) ⇒ Object



11
12
13
14
15
16
17
18
19
20
21
# File 'lib/aws_public_ips/utils.rb', line 11

def self.resolve_hostname(hostname)
  # Default Resolv.getaddresses doesn't seem to return IPv6 results
  resources = Resolv::DNS.open do |dns|
    dns.getresources(hostname, Resolv::DNS::Resource::IN::A) +
      dns.getresources(hostname, Resolv::DNS::Resource::IN::AAAA)
  end

  resources.map do |resource|
    resource.address.to_s.downcase
  end
end

.resolve_hostnames(hostnames) ⇒ Object



7
8
9
# File 'lib/aws_public_ips/utils.rb', line 7

def self.resolve_hostnames(hostnames)
  hostnames.flat_map(&method(:resolve_hostname))
end