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