Class: Elesai::LSI
- Inherits:
-
Object
- Object
- Elesai::LSI
- Defined in:
- lib/elesai/lsi.rb
Defined Under Namespace
Classes: Adapter, BBU, PhysicalDrive, VirtualDrive
Instance Attribute Summary collapse
-
#adapters ⇒ Object
readonly
Returns the value of attribute adapters.
-
#bbus ⇒ Object
readonly
Returns the value of attribute bbus.
-
#enclosures ⇒ Object
readonly
Returns the value of attribute enclosures.
-
#physicaldrives ⇒ Object
readonly
Returns the value of attribute physicaldrives.
-
#virtualdrives ⇒ Object
readonly
Returns the value of attribute virtualdrives.
Instance Method Summary collapse
- #add(component) ⇒ Object
-
#initialize(opts) ⇒ LSI
constructor
A new instance of LSI.
Constructor Details
#initialize(opts) ⇒ LSI
Returns a new instance of LSI.
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
# 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 |
Instance Attribute Details
#adapters ⇒ Object (readonly)
Returns the value of attribute adapters.
7 8 9 |
# File 'lib/elesai/lsi.rb', line 7 def adapters @adapters end |
#bbus ⇒ Object (readonly)
Returns the value of attribute bbus.
7 8 9 |
# File 'lib/elesai/lsi.rb', line 7 def bbus @bbus end |
#enclosures ⇒ Object (readonly)
Returns the value of attribute enclosures.
7 8 9 |
# File 'lib/elesai/lsi.rb', line 7 def enclosures @enclosures end |
#physicaldrives ⇒ Object (readonly)
Returns the value of attribute physicaldrives.
7 8 9 |
# File 'lib/elesai/lsi.rb', line 7 def physicaldrives @physicaldrives end |
#virtualdrives ⇒ Object (readonly)
Returns the value of attribute virtualdrives.
7 8 9 |
# File 'lib/elesai/lsi.rb', line 7 def virtualdrives @virtualdrives end |
Instance Method Details
#add(component) ⇒ Object
34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
# 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 |