From: Anton Khorev Date: Sat, 1 Feb 2025 17:36:07 +0000 (+0300) Subject: Use flat_map to collect way node ids in maps controller X-Git-Tag: live~31^2 X-Git-Url: https://git.openstreetmap.org./rails.git/commitdiff_plain/83167c368ec419789fa2e579de1af98e29abc30f Use flat_map to collect way node ids in maps controller --- diff --git a/app/controllers/api/maps_controller.rb b/app/controllers/api/maps_controller.rb index 2aa25fdd7..afba6faa4 100644 --- a/app/controllers/api/maps_controller.rb +++ b/app/controllers/api/maps_controller.rb @@ -46,10 +46,7 @@ module Api way_ids = way_nodes.collect { |way_node| way_node.id[0] } ways = Way.preload(:way_nodes, :way_tags).find(way_ids) - list_of_way_nodes = ways.collect do |way| - way.way_nodes.collect(&:node_id) - end - list_of_way_nodes.flatten! + list_of_way_nodes = ways.flat_map { |way| way.way_nodes.map(&:node_id) } end # - [0] in case some thing links to node 0 which doesn't exist. Shouldn't actually ever happen but it does. FIXME: file a ticket for this