X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/7f598ab412674ce5a78da98c54aa2fe2e4a05792..38b9f8f7927f09b32a94df87d1264f568f620480:/app/controllers/api_controller.rb diff --git a/app/controllers/api_controller.rb b/app/controllers/api_controller.rb index 5e75c731e..2f630c6d6 100644 --- a/app/controllers/api_controller.rb +++ b/app/controllers/api_controller.rb @@ -128,9 +128,6 @@ class ApiController < ApplicationController end @nodes = Node.bbox(bbox).where(:visible => true).includes(:node_tags).limit(MAX_NUMBER_OF_NODES+1) - # get all the nodes, by tag not yet working, waiting for change from NickB - # need to be @nodes (instance var) so tests in /spec can be performed - #@nodes = Node.search(bbox, params[:tag]) node_ids = @nodes.collect(&:id) if node_ids.length > MAX_NUMBER_OF_NODES @@ -151,9 +148,9 @@ class ApiController < ApplicationController # find which ways are needed ways = Array.new if node_ids.length > 0 - way_nodes = WayNode.find_all_by_node_id(node_ids) + way_nodes = WayNode.where(:node_id => node_ids) way_ids = way_nodes.collect { |way_node| way_node.id[0] } - ways = Way.find(way_ids, :include => [:way_nodes, :way_tags]) + ways = Way.preload(:way_nodes, :way_tags).find(way_ids) list_of_way_nodes = ways.collect { |way| way.way_nodes.collect { |way_node| way_node.node_id } @@ -290,8 +287,16 @@ class ApiController < ApplicationController status['api'] = api_status.to_s status['gpx'] = gpx_status.to_s api << status - doc.root << api + policy = XML::Node.new 'policy' + blacklist = XML::Node.new 'imagery' + IMAGERY_BLACKLIST.each do |url_regex| + xnd = XML::Node.new 'blacklist' + xnd['regex'] = url_regex.to_s + blacklist << xnd + end + policy << blacklist + doc.root << policy render :text => doc.to_s, :content_type => "text/xml" end