class DNSMonkey

Constants

VERSION

Attributes

resolver[R]

@return [Resolv::DNS]

Public Class Methods

new(resolver: Resolv::DNS.new) click to toggle source
# File lib/dns_monkey.rb, line 10
def initialize(resolver: Resolv::DNS.new)
  @resolver = resolver
end

Public Instance Methods

a_record_name(name) click to toggle source

@return [String, nil] returns name of A record or nil if A record does not

exist
# File lib/dns_monkey.rb, line 18
def a_record_name(name)
  return a_record_name(resolv_cname_record(name).name) if cname_record?(name)
  return name.to_s if a_record?(name)
end

Private Instance Methods

a_record?(name) click to toggle source
# File lib/dns_monkey.rb, line 40
def a_record?(name)
  resolv_a_record(name)
  true
rescue Resolv::ResolvError
  false
end
cname_record?(name) click to toggle source
# File lib/dns_monkey.rb, line 33
def cname_record?(name)
  resolv_cname_record(name)
  true
rescue Resolv::ResolvError
  false
end
resolv_a_record(name) click to toggle source
# File lib/dns_monkey.rb, line 25
def resolv_a_record(name)
  resolver.getresource(name, Resolv::DNS::Resource::IN::A)
end
resolv_cname_record(name) click to toggle source
# File lib/dns_monkey.rb, line 29
def resolv_cname_record(name)
  resolver.getresource(name, Resolv::DNS::Resource::IN::CNAME)
end