class Sas2ircu::Card
Constants
- BACKPLANE_REGEX
- CARD_REGEX
Attributes
backplanes[RW]
drives_by_serial[RW]
drives_by_wnn[RW]
id[RW]
Public Class Methods
new(id)
click to toggle source
# File lib/disk_reporter/sas2ircu_parser.rb, line 11 def initialize(id) self.id = id self.backplanes = {} self.drives_by_serial = {} self.drives_by_wnn = {} populate_backplanes end
Public Instance Methods
to_h()
click to toggle source
# File lib/disk_reporter/sas2ircu_parser.rb, line 19 def to_h bs = {} backplanes.each do |_k,b| bs[b.enclosure] = b.to_h end { backplanes: bs } end
Protected Instance Methods
populate_backplanes()
click to toggle source
# File lib/disk_reporter/sas2ircu_parser.rb, line 33 def populate_backplanes sas2ircu_lines.scan(CARD_REGEX).each do |bp| self.backplanes[bp[0].to_i] = Backplane.new self, bp[0].to_i, bp[1], bp[2].to_i, bp[3].to_i end populate_slots end
populate_slots()
click to toggle source
# File lib/disk_reporter/sas2ircu_parser.rb, line 40 def populate_slots sas2ircu_lines.scan(BACKPLANE_REGEX).each do |d| b = @backplanes[d[0].to_i] disk = Disk.new b, d b.slots[d[1].to_i] = disk self.drives_by_serial[d[9]] = disk self.drives_by_wnn[d[10]] = disk end end
sas2ircu_lines()
click to toggle source
# File lib/disk_reporter/sas2ircu_parser.rb, line 29 def sas2ircu_lines @lines ||= `sas2ircu #{id} display` end