class Elesai::Megacli::LDPDinfo_aAll
Public Class Methods
new()
click to toggle source
# File lib/elesai/megacli/_ldpdinfo_aall.rb, line 5 def initialize @megacli = { :adapter => { :re => /^Adapter\s+#*(?<value>\d+)/, :method => self.method(:adapter_match) }, :virtualdrive => { :re => /^Virtual\s+Drive:\s+\d+\s+\((?<key>Target\s+Id):\s+(?<value>\d+)\)/, :method => self.method(:virtualdrive_match) }, :physicaldrive => { :re => /^(?<key>Enclosure\s+Device\s+ID):\s+(?<value>\d+)/, :method => self.method(:physicaldrive_match) }, :exit => { :re => /^Exit Code: /, :method => self.method(:exit_match) }, :attribute => { :re => /^(?<key>[A-Za-z0-9()\s#'-.&]+)[:|=](?<value>.*)/, :method => self.method(:attribute_match) } }.freeze @command_arguments = "-ldpdinfo -aall".freeze @command_output_file = "ldpdinfo_aall".freeze end
Public Instance Methods
adapter_line(adapter,key,value)
click to toggle source
Line Handlers
# File lib/elesai/megacli/_ldpdinfo_aall.rb, line 39 def adapter_line(adapter,key,value) @log.debug " [#{current_state}] event adapter_line: new #{adapter.inspect}" adapter[key.to_sym] = value.to_i end
on_adapter_entry(old_state, event, *args)
click to toggle source
# File lib/elesai/megacli/_ldpdinfo_aall.rb, line 44 def on_adapter_entry(old_state, event, *args) @log.debug " [#{current_state}] on_entry: leaving #{old_state}; args: #{args}" @context.close unless @context.current.nil? or Elesai::LSI::Adapter === @context.current @context.open args[0] end
on_adapter_exit(new_state, event, *args)
click to toggle source
# File lib/elesai/megacli/_ldpdinfo_aall.rb, line 51 def on_adapter_exit(new_state, event, *args) @log.debug " [#{current_state}] on_exit: entering #{new_state}; args: #{args}" @context.flash!(new_state) end
on_physicaldrive_entry(old_state, event, *args)
click to toggle source
# File lib/elesai/megacli/_ldpdinfo_aall.rb, line 85 def on_physicaldrive_entry(old_state, event, *args) @log.debug " [#{current_state}] on_entry: leaving #{old_state}; args: #{args}" @context.open args[0] end
on_physicaldrive_exit(new_state, event, *args)
click to toggle source
# File lib/elesai/megacli/_ldpdinfo_aall.rb, line 90 def on_physicaldrive_exit(new_state, event, *args) @log.debug " [#{current_state}] on_exit: entering #{new_state}; args: #{args}" @context.flash!(new_state) end
on_virtualdrive_entry(old_state, event, *args)
click to toggle source
# File lib/elesai/megacli/_ldpdinfo_aall.rb, line 61 def on_virtualdrive_entry(old_state, event, *args) @log.debug " [#{current_state}] on_entry: leaving #{old_state}; args: #{args}" unless @context.current.nil? if Elesai::LSI::VirtualDrive === @context.current @context.close end end virtualdrive = args[0] @context.open virtualdrive end
on_virtualdrive_exit(new_state, event, *args)
click to toggle source
# File lib/elesai/megacli/_ldpdinfo_aall.rb, line 73 def on_virtualdrive_exit(new_state, event, *args) @log.debug " [#{current_state}] on_exit: entering #{new_state}; args: #{args}" @context.flash!(new_state) end
parse!(lsi,opts)
click to toggle source
Calls superclass method
# File lib/elesai/megacli/_ldpdinfo_aall.rb, line 16 def parse!(lsi,opts) fake = opts[:fake].nil? ? @command_arguments : File.join(opts[:fake],@command_output_file) super lsi, :fake => fake, :megacli => opts[:megacli] end
physicaldrive_line(physicaldrive,key,value)
click to toggle source
Physical Drive
# File lib/elesai/megacli/_ldpdinfo_aall.rb, line 80 def physicaldrive_line(physicaldrive,key,value) @log.debug " [#{current_state}] event: physicaldrive_line: new #{physicaldrive.inspect}" physicaldrive[key.to_sym] = value.to_i end
physicaldrive_match(k,match)
click to toggle source
# File lib/elesai/megacli/_ldpdinfo_aall.rb, line 30 def physicaldrive_match(k,match) @log.debug "PHYSICALDRIVE! #{match.string}" key = match[:key].gsub(/\s+/,"").downcase value = match[:value] physicaldrive_line!(LSI::PhysicalDrive.new,key,value) end
virtualdrive_line(virtualdrive,key,value)
click to toggle source
# File lib/elesai/megacli/_ldpdinfo_aall.rb, line 56 def virtualdrive_line(virtualdrive,key,value) @log.debug " [#{current_state}] event: virtualdrive_line: new #{virtualdrive.inspect}" virtualdrive[key.to_sym] = value.to_i end
virtualdrive_match(k,match)
click to toggle source
Regular Expression Match Handlers
# File lib/elesai/megacli/_ldpdinfo_aall.rb, line 23 def virtualdrive_match(k,match) @log.debug "VIRTUALDRIVE! #{match.string}" key = match[:key].gsub(/\s+/,"").downcase value = match[:value] virtualdrive_line!(LSI::VirtualDrive.new,key,value) end