X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/6a09f49e71e00e27f0503d74a6af56f87b47b9a1..8a70e1c082b985c2ff1802d6ebff60783a6fc2b6:/app/controllers/api_controller.rb diff --git a/app/controllers/api_controller.rb b/app/controllers/api_controller.rb index 602b79d69..2c442c190 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 } @@ -285,7 +282,12 @@ class ApiController < ApplicationController timeout = XML::Node.new 'timeout' timeout['seconds'] = API_TIMEOUT.to_s api << timeout - + status = XML::Node.new 'status' + status['database'] = database_status.to_s + status['api'] = api_status.to_s + status['gpx'] = gpx_status.to_s + api << status + doc.root << api render :text => doc.to_s, :content_type => "text/xml"