class Lsmap_npiv
Attributes
data[RW]
data_string_raw[R]
fc_names[R]
sys[RW]
vios[RW]
Public Class Methods
new(string = nil, vios = nil, sys = nil)
click to toggle source
# File lib/VIOS/lsmap_npiv.rb, line 14 def initialize(string = nil, vios = nil, sys = nil) @vios = vios @sys = sys @data = {} @data_string_raw = '' parse(string) unless string.nil? or string.empty? end
Public Instance Methods
mapping_for_lpar_id(lpar_id)
click to toggle source
# File lib/VIOS/lsmap_npiv.rb, line 45 def mapping_for_lpar_id(lpar_id) result = [] @data.each_pair do |name, entry| result.push(entry) if entry.clntid == lpar_id end result end
parse(string)
click to toggle source
# File lib/VIOS/lsmap_npiv.rb, line 23 def parse(string) @data_string_raw = string if string =~ /Name\s*Physloc/ string.gsub("\nName", '--split--Name').split('--split--').each do |str| entry = Lsmap_npiv_entry.new(str) entry.vios = @vios entry.sys = @sys @data[entry.name] = entry end else string.each_line do |line| entry = Lsmap_npiv_entry.new(line) entry.vios = @vios entry.sys = @sys @data[entry.name] = entry end end working_fcs @data end
to_s(separator = ':')
click to toggle source
# File lib/VIOS/lsmap_npiv.rb, line 53 def to_s(separator = ':') result = '' @data.each_pair do |name, entry| result += entry.to_s(separator) end result end
using_fcs?(name)
click to toggle source
# File lib/VIOS/lsmap_npiv.rb, line 81 def using_fcs?(name) @fc_names.include?(name) end
working_fcs()
click to toggle source
# File lib/VIOS/lsmap_npiv.rb, line 62 def working_fcs result = [] @data.each_pair do |name, entry| result.push(entry.fc_name) end @fc_names = result.uniq @fc_names end
working_fcs_number()
click to toggle source
# File lib/VIOS/lsmap_npiv.rb, line 71 def working_fcs_number result = {} @data.each_pair do |name, entry| result[entry.fc_name] = 0 unless defined? result[entry.fc_name] result[entry.fc_name] += 1 end result end