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