class RogueOne::Ping
Attributes
nameserver[R]
resolver[R]
Public Class Methods
new(nameserver)
click to toggle source
# File lib/rogue_one/ping.rb, line 10 def initialize(nameserver) @nameserver = nameserver @resolver = Resolv::DNS.new(nameserver: [nameserver]) @resolver.timeouts = 5 end
pong?(target)
click to toggle source
# File lib/rogue_one/ping.rb, line 29 def self.pong?(target) new(target).pong? end
Public Instance Methods
get_a_record()
click to toggle source
# File lib/rogue_one/ping.rb, line 16 def get_a_record resolver.getresource("example.com", Resolv::DNS::Resource::IN::A) rescue Resolv::ResolvError => _e nil end
pong?()
click to toggle source
# File lib/rogue_one/ping.rb, line 22 def pong? result = get_a_record raise Error, "DNS resolve error: there is no resopnse from #{nameserver}" unless result true end