class Elesai::Action::Show
Constants
- COMPONENTS
Public Class Methods
new(arguments,options)
click to toggle source
# File lib/elesai/action/show.rb, line 7 def initialize(arguments,options) @options = options @arguments = arguments @component = nil opts = OptionParser.new opts.banner = "Usage: #{ID} [options] show <component>" opts.separator "" opts.separator " <component> is adapter, physicaldisk|pd, virtualdisk|vd, bbu" opts.order!(@arguments) options_valid? arguments_valid? process_arguments @show = { :adapter => self.method(:show_adapter), :virtualdrive => self.method(:show_virtualdrive), :physicaldrive => self.method(:show_physicaldrive), :bbu => self.method(:show_bbu) } end
Public Instance Methods
exec()
click to toggle source
# File lib/elesai/action/show.rb, line 31 def exec @lsi = LSI.new(:megacli => @options[:megacli], :fake => @options[:fake], :hint => @component) @show[@component].call end
Protected Instance Methods
arguments_valid?()
click to toggle source
# File lib/elesai/action/show.rb, line 42 def arguments_valid? raise ArgumentError, "missing component" if @arguments.size == 0 raise ArgumentError, "too many components" if @arguments.size > 1 raise ArgumentError, "invalid component #{@arguments[0]}" unless COMPONENTS.include? @arguments[0] true end
options_valid?()
click to toggle source
# File lib/elesai/action/show.rb, line 38 def options_valid? true end
process_arguments()
click to toggle source
# File lib/elesai/action/show.rb, line 49 def process_arguments @component = case @arguments[0].to_sym when :vd then :virtualdrive when :pd then :physicaldrive else @arguments[0].to_sym end end
show_adapter()
click to toggle source
# File lib/elesai/action/show.rb, line 75 def show_adapter @lsi.adapters.each do |adapter| print "#{adapter}\n" end end
show_bbu()
click to toggle source
# File lib/elesai/action/show.rb, line 69 def show_bbu @lsi.bbus.each do |bbu| print "#{bbu}\n" end end
show_physicaldrive()
click to toggle source
# File lib/elesai/action/show.rb, line 63 def show_physicaldrive @lsi.physicaldrives.each do |id,physicaldrive| print "#{physicaldrive}\n" end end
show_virtualdrive()
click to toggle source
# File lib/elesai/action/show.rb, line 57 def show_virtualdrive @lsi.virtualdrives.each do |virtualdrive| print "#{virtualdrive}\n" end end