class Netmidget
Attributes
device_name[RW]
hostname[RW]
ip[RW]
log[RW]
site[RW]
Public Class Methods
new(opts)
click to toggle source
# File lib/netmidget.rb, line 10 def initialize(opts) @hostname = opts[:hostname] || `/bin/hostname`.chomp @site = opts[:site] @ip = opts[:ip] @device_name = opts[:device_name] @log = opts[:log] || nil end
Public Instance Methods
device_str()
click to toggle source
# File lib/netmidget.rb, line 18 def device_str "#{site}::#{device_name}::#{ip}" end
ping()
click to toggle source
# File lib/netmidget.rb, line 22 def ping Net::Ping::External.new(ip).ping? end
ping?()
click to toggle source
# File lib/netmidget.rb, line 26 def ping? if not resp = ping warn_str = "#{device_str} was unresponsive...trying again" log ? log.warn(warn_str) : puts(Time.now.to_s + ": " + warn_str) resp = ping end resp end
ping_output_str_fail()
click to toggle source
# File lib/netmidget.rb, line 59 def ping_output_str_fail str = ping_output_str_prefix + "Fail" log ? log.error(str) : puts(str = (stdout_prefix + str)) str end
ping_output_str_prefix()
click to toggle source
# File lib/netmidget.rb, line 49 def ping_output_str_prefix "Pinging #{device_str}: " end
ping_output_str_success()
click to toggle source
# File lib/netmidget.rb, line 53 def ping_output_str_success str = ping_output_str_prefix + "Success" log ? log.info(str) : puts(str = (stdout_prefix + str)) str end
stdout_prefix()
click to toggle source
# File lib/netmidget.rb, line 45 def stdout_prefix "#{Time.now.to_s}: #{hostname} " end
traceroute()
click to toggle source
# File lib/netmidget.rb, line 35 def traceroute `/usr/sbin/traceroute -n -m 20 -w 2 #{ip} 2>&1` end
traceroute_output_str()
click to toggle source
# File lib/netmidget.rb, line 39 def traceroute_output_str str = traceroute log ? log.error(str) : puts(str = (stdout_prefix + str)) str end