]> git.openstreetmap.org Git - rails.git/blobdiff - app/controllers/api/maps_controller.rb
Merge remote-tracking branch 'upstream/pull/5064'
[rails.git] / app / controllers / api / maps_controller.rb
index c37ba2a3e405fe04b18fca246341d22325c59785..439585462eba7e1e7f760183789eec960feffd12 100644 (file)
@@ -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
@@ -57,15 +54,9 @@ module Api
 
       nodes += Node.includes(:node_tags).find(nodes_to_fetch) unless nodes_to_fetch.empty?
 
-      @nodes = []
-      nodes.each do |node|
-        @nodes << node if node.visible?
-      end
+      @nodes = nodes.filter(&:visible?)
 
-      @ways = []
-      ways.each do |way|
-        @ways << way if way.visible?
-      end
+      @ways = ways.filter(&:visible?)
 
       @relations = Relation.nodes(@nodes).visible +
                    Relation.ways(@ways).visible