class Elesai::LSI
Attributes
adapters[R]
bbus[R]
enclosures[R]
physicaldrives[R]
virtualdrives[R]
Public Class Methods
new(opts)
click to toggle source
# File lib/elesai/lsi.rb, line 9 def initialize(opts) @adapters = [] @virtualdrives = [] @physicaldrives = {} @enclosures = [] @spans = [] @bbus = [] case opts[:hint] when :physicaldrive Megacli::PDlist_aAll.new.parse!(self,opts) when :virtualdrive Megacli::LDPDinfo_aAll.new.parse!(self,opts) when :adapter Megacli::AdpAllInfo_aAll.new.parse!(self,opts) when :bbu Megacli::AdpBbuCmd_aAll.new.parse!(self,opts) else Megacli::AdpAllInfo_aAll.new.parse!(self,opts) Megacli::PDlist_aAll.new.parse!(self,opts) Megacli::LDPDinfo_aAll.new.parse!(self,opts) Megacli::AdpBbuCmd_aAll.new.parse!(self,opts) end end
Public Instance Methods
add(component)
click to toggle source
# File lib/elesai/lsi.rb, line 34 def add(component) case component when Adapter @adapters[component[:id]] = component if @adapters[component[:id]].nil? when VirtualDrive @virtualdrives.push(component) when PhysicalDrive @physicaldrives[component._id] = component if @physicaldrives[component._id].nil? return @physicaldrives[component._id] when BBU @bbus.push(component) else raise StandardError, "invalid component #{component.class}" end end