class Lsmpio_disk
Attributes
data_string_raw[RW]
name[R]
paths[R]
viosname[RW]
Public Class Methods
new(string = '')
click to toggle source
# File lib/AIX/lsmpio_disk.rb, line 11 def initialize(string = '') @name = nil @paths = {} parse(string) unless string.empty? end
Public Instance Methods
parse(string)
click to toggle source
# File lib/AIX/lsmpio_disk.rb, line 17 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) path = Lsmpio_entry.new(line) @paths[path.path_id] = path if @name.nil? @name = path.name else raise "Inconsistance data: #{line}" if @name != path.name end else raise "Wrong line:>#{line}<" end end end