end
def show
- @way = Way.find(params[:id])
+ @way = Way
+ @way = @way.includes(:nodes => :node_tags) if params[:full]
+ @way = @way.find(params[:id])
- response.last_modified = @way.timestamp
+ response.last_modified = @way.timestamp unless params[:full]
if @way.visible
- # Render the result
+ if params[:full]
+ @nodes = []
+
+ @way.nodes.uniq.each do |node|
+ @nodes << node if node.visible
+ end
+ end
+
respond_to do |format|
format.xml
format.json
head :bad_request
end
end
-
- def full
- @way = Way.includes(:nodes => :node_tags).find(params[:id])
-
- if @way.visible
- @nodes = []
-
- @way.nodes.uniq.each do |node|
- @nodes << node if node.visible
- end
-
- # Render the result
- respond_to do |format|
- format.xml
- format.json
- end
- else
- head :gone
- end
- end
-
- ##
- # returns all the ways which are currently using the node given in the
- # :id parameter. note that this used to return deleted ways as well, but
- # this seemed not to be the expected behaviour, so it was removed.
- def ways_for_node
- wayids = WayNode.where(:node_id => params[:id]).collect { |ws| ws.id[0] }.uniq
-
- @ways = Way.where(:id => wayids, :visible => true)
-
- # Render the result
- respond_to do |format|
- format.xml
- format.json
- end
- end
end
end