class Lsmpio
Attributes
data_string_raw[RW]
disks[R]
viosname[RW]
Public Class Methods
new(string = '')
click to toggle source
# File lib/AIX/lsmpio.rb, line 9 def initialize(string = '') @data = {} @data_string_raw = '' @disks = {} @disks_raw = {} parse(string) unless string.empty? end
Public Instance Methods
parse(string)
click to toggle source
www.ibm.com/support/knowledgecenter/ssw_aix_72/l_commands/lsmpio.html
# File lib/AIX/lsmpio.rb, line 20 def parse(string) @data_string_raw = string regexp = %r{(hdisk\d+)\s+(\d+)\s+(Enabled|Disabled|Failed|Missing)\s+([\w\,]+)\s+(fscsi\d+)\s+(\w+)\,(\w+)} string.each_line do |line| line = line.strip next if line =~ /name/ next if line =~ /^\s*$/ next if line =~ /^[=]+$/ if match = regexp.match(line) if @disks_raw[match[1]].nil? @disks_raw[match[1]] = line + "\n" else @disks_raw[match[1]] += line + "\n" end else raise "wrong line: >#{line}" end end @disks_raw.each_pair do |key, disk_raw| disk = Lsmpio_disk.new(disk_raw) @disks[disk.name] = disk end @_parsed = true end