]> git.openstreetmap.org Git - rails.git/blobdiff - app/controllers/api/ways_controller.rb
Update bundle
[rails.git] / app / controllers / api / ways_controller.rb
index 04c823ad2a40e2b5db5835509688baf3c2da8b79..3b58f208b14e729a696a0f7e2e0ba0cd6ada631e 100644 (file)
@@ -11,6 +11,8 @@ module Api
     before_action :check_api_readable, :except => [:create, :update, :delete]
     around_action :api_call_handle_error, :api_call_timeout
 
+    before_action :set_request_formats, :except => [:create, :update, :delete]
+
     def create
       assert_method :put
 
@@ -22,16 +24,15 @@ module Api
     end
 
     def show
-      way = Way.find(params[:id])
+      @way = Way.find(params[:id])
 
-      response.last_modified = way.timestamp
-
-      if way.visible
-        @way = way
+      response.last_modified = @way.timestamp
 
+      if @way.visible
         # Render the result
         respond_to do |format|
           format.xml
+          format.json
         end
       else
         head :gone
@@ -64,27 +65,24 @@ module Api
     end
 
     def full
-      way = Way.includes(:nodes => :node_tags).find(params[:id])
+      @way = Way.includes(:nodes => :node_tags).find(params[:id])
 
-      if way.visible
+      if @way.visible
         visible_nodes = {}
-        # changeset_cache = {}
-        # user_display_name_cache = {}
 
         @nodes = []
 
-        way.nodes.uniq.each do |node|
+        @way.nodes.uniq.each do |node|
           if node.visible
             @nodes << node
             visible_nodes[node.id] = node
           end
         end
 
-        @way = way
-
         # Render the result
         respond_to do |format|
           format.xml
+          format.json
         end
       else
         head :gone
@@ -105,6 +103,7 @@ module Api
       # Render the result
       respond_to do |format|
         format.xml
+        format.json
       end
     end
 
@@ -120,6 +119,7 @@ module Api
       # Render the result
       respond_to do |format|
         format.xml
+        format.json
       end
     end
   end