Module: DNSCheck::DNS
- Included in:
- DNSCheck
- Defined in:
- lib/dns-check/dns.rb
Instance Method Summary collapse
- #get_cname_record(hostname) ⇒ Object
- #lookup(hostname) ⇒ Object
- #nameservers=(ns) ⇒ Object
- #timeout=(sec) ⇒ Object
Instance Method Details
#get_cname_record(hostname) ⇒ Object
20 21 22 23 24 |
# File 'lib/dns-check/dns.rb', line 20 def get_cname_record hostname @query.getresource(hostname, Resolv::DNS::Resource::IN::CNAME).name.to_s rescue hostname end |
#lookup(hostname) ⇒ Object
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
# File 'lib/dns-check/dns.rb', line 26 def lookup hostname Timeout::timeout(@timeout) do record = get_cname_record hostname if DNSCheck.config[:no_recursion] && (record != hostname) return record.colorize_to(:green) end resolved_ip = @query.getresource(record, Resolv::DNS::Resource::IN::A).address.to_s resolved_ip.to_s.colorize_to(:green) end rescue Timeout::Error "Nameserver Timeout".colorize_to(:red) rescue => e e..colorize_to(:red) end |
#nameservers=(ns) ⇒ Object
13 14 15 16 17 18 |
# File 'lib/dns-check/dns.rb', line 13 def nameservers= ns @query = Resolv::DNS.new( :nameserver => ns, :ndots => 1 ) end |
#timeout=(sec) ⇒ Object
9 10 11 |
# File 'lib/dns-check/dns.rb', line 9 def timeout= sec @timeout = sec end |