def get_units_from_gs(gs) return {} if gs.nil? # powers[power_name]['units'] に入っていると想定 units = {} if gs['powers'].is_a?(Hash) gs['powers'].each do |power, data| units[power] = data['units'] end end units end t1 = Turn.find_by(number: 1) t2 = Turn.find_by(number: 2) puts "--- Turn 1 (SPRING 1901 MOVEMENT) Units ---" u1 = get_units_from_gs(t1&.game_state) puts u1.inspect puts "\n--- Turn 2 (FALL 1901 MOVEMENT) Units ---" if t2 u2 = get_units_from_gs(t2.game_state) puts u2.inspect puts "\nDifference detected?" if u1 == u2 puts "NO CHANGE in unit positions!" else puts "Unit positions HAVE CHANGED." end puts "\nTurn 1 Orders stored in DB:" puts t1.orders.inspect else puts "Turn 2 not found." end