]> git.openstreetmap.org Git - rails.git/blobdiff - app/controllers/api/maps_controller.rb
Merge remote-tracking branch 'upstream/pull/5586'
[rails.git] / app / controllers / api / maps_controller.rb
index afba6faa4bbe4e53c4f9c8a5083ee656325a6b2e..439585462eba7e1e7f760183789eec960feffd12 100644 (file)
@@ -54,26 +54,12 @@ module Api
 
       nodes += Node.includes(:node_tags).find(nodes_to_fetch) unless nodes_to_fetch.empty?
 
-      visible_nodes = {}
-      @nodes = []
-      nodes.each do |node|
-        if node.visible?
-          visible_nodes[node.id] = node
-          @nodes << node
-        end
-      end
+      @nodes = nodes.filter(&:visible?)
 
-      @ways = []
-      way_ids = []
-      ways.each do |way|
-        if way.visible?
-          way_ids << way.id
-          @ways << way
-        end
-      end
+      @ways = ways.filter(&:visible?)
 
-      @relations = Relation.nodes(visible_nodes.keys).visible +
-                   Relation.ways(way_ids).visible
+      @relations = Relation.nodes(@nodes).visible +
+                   Relation.ways(@ways).visible
 
       # we do not normally return the "other" partners referenced by an relation,
       # e.g. if we return a way A that is referenced by relation X, and there's