# File lib/rubyipmi/ipmitool/commands/sensors.rb, line 82 def initialize(line) parse(line) self[:name] = normalize(self[:name]) end
# File lib/rubyipmi/ipmitool/commands/sensors.rb, line 88 def normalize(text) text.gsub(/\ /, '_').gsub(/\./, '').downcase end
Parse the individual sensor Note: not all fields will exist on every server
# File lib/rubyipmi/ipmitool/commands/sensors.rb, line 94 def parse(line) fields = [:name, :value, :unit, :status, :type, :state, :lower_nonrec, :lower_crit,:lower_noncrit, :upper_crit, :upper_nonrec, :asserts_enabled, :deasserts_enabled ] # skip the header data = line.split(/\|/) # should we ever encounter a field not in the fields list, just use a counter based fieldname i = 0 data.each do | value | field ||= fields.shift || "field#{i}" self[field] = value.strip i = i.next end end