Method: OpenC3::TableManagerCore.save

Defined in:
lib/openc3/tools/table_manager/table_manager_core.rb

.save(definition_filename, tables) ⇒ Object



114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
# File 'lib/openc3/tools/table_manager/table_manager_core.rb', line 114

def self.save(definition_filename, tables)
  config = TableConfig.process_file(definition_filename)
  tables.each do |table|
    table_def = config.tables[table['name']]
    table['rows'].each do |row|
      row.each do |item|
        # TODO: I don't know how the frontend could edit an item like this:
        # item:{"name"=>"BINARY", "value"=>{"json_class"=>"String", "raw"=>[222, 173, 190, 239]} }
        next if item['value'].is_a? Hash
        table_def.write(item['name'], item['value'])
      end
    end
  end
  binary = ''
  config.tables.each { |table_name, table| binary += table.buffer }
  binary
end