def parse(data)
      return unless data
      parsed_data = []
      data.lines.each do |line|
        if line =~ /^FRU.*/
          # this is the either the first line of of the fru or another fru
          if parsed_data.count != 0
            # we have reached a new fru device so lets record the previous fru
            new_fru = FruData.new(parsed_data)
            parsed_data = []
            @list[new_fru[:name]] = new_fru
          end

        end
        parsed_data << line
      end
      # process the last fru
      return if parsed_data.count == 0
      # we have reached a new fru device so lets record the previous fru
      new_fru = FruData.new(parsed_data)
      parsed_data = []
      @list[new_fru[:name]] = new_fru
    end
def parse(data)
      return unless data
      parsed_data = []
      data.lines.each do |line|
        if line =~ /^FRU.*/
          # this is the either the first line of of the fru or another fru
          if parsed_data.count != 0
            # we have reached a new fru device so lets record the previous fru
            new_fru = FruData.new(parsed_data)
            parsed_data = []
            @list[new_fru[:name]] = new_fru
          end

        end
        parsed_data << line
      end
      # process the last fru
      return if parsed_data.count == 0
      # we have reached a new fru device so lets record the previous fru
      new_fru = FruData.new(parsed_data)
      parsed_data = []
      @list[new_fru[:name]] = new_fru
    end
parse the fru information