lib/netutils/switch.rb in netutils-0.1.1 vs lib/netutils/switch.rb in netutils-0.1.2
- old
+ new
@@ -145,25 +145,27 @@
def each
@list.each { |p| yield p }
end
end
- attr_reader :name, :type, :ports, :ia
- attr_accessor :platform, :firmware, :time
+ attr_reader :name, :type, :ports, :ia, :parent
+ attr_accessor :platform, :firmware, :time, :note
@@retrieve_all = false
@@db = Hash.new
@@unretrieved = OnceQueue.new
@@warn = Array.new
- def initialize(name, type, ia, retrieve = true)
+ def initialize(name, type, ia, retrieve = true, parent = nil)
name_set(name)
@type = type
@ports = Ports.new
@retrieve = retrieve
@cli = nil
ip_address_set(ia)
+ @parent = parent
+ @note = nil
return self
end
def name_set(name)
@@ -188,10 +190,11 @@
@cli.login
name_set(@cli.name) if ! @name
#
# retrieve interfaces because many commands require
# interface name.
+ # XXX: should improve this...
#
interface_gets
end
def logout
@@ -307,19 +310,19 @@
end
raise "No MAC address found for #{ia}"
end
def self.get(name, type, platform = nil, firmware = nil, time = nil,
- ia = nil)
+ ia = nil, parent = nil)
# XXX should lock
if @@db.key?(name)
sw = @@db[name]
sw.platform = platform if sw.platform == nil
sw.firmware = firmware if sw.firmware == nil
sw.time = time if sw.time == nil
sw.ip_address_set(ia)
else
- sw = Switch.new(name, type, ia, @@retrieve_all)
+ sw = Switch.new(name, type, ia, @@retrieve_all, parent)
end
return sw
end
def self.retrieve