#!/usr/bin/env ruby require 'json' Dir.glob('./tests/ref/**/grid.json').each do |path| puts "Migrating #{path}" # Read contents s = File.open(path) { |f| f.read } # Parse grid = JSON.parse(s) # Normalize Storage serialization if grid['raw'].is_a? Array grid['raw'] = { 'inner' => grid['raw'][0], 'zero' => grid['raw'][1], 'visible_lines' => grid['raw'][2] } end # Migrate Row serialization grid['raw']['inner'].map! do |row| if row.is_a? Hash row else { inner: row, occ: row.length } end end # Write updated grid File.open(path, 'w') { |f| f << JSON.generate(grid) } end