]> git.openstreetmap.org Git - rails.git/blobdiff - app/controllers/api/user_preferences_controller.rb
Refactor user controller tests
[rails.git] / app / controllers / api / user_preferences_controller.rb
index 82f6c6a4d78255d6fdc8b17087888679f54ed4f6..ddc5d7f430a9eff0c085bedaf40cf3a9d70a76b5 100644 (file)
@@ -1,7 +1,6 @@
 # Update and read user preferences, which are arbitrayr key/val pairs
 module Api
 # Update and read user preferences, which are arbitrayr key/val pairs
 module Api
-  class UserPreferencesController < ApplicationController
-    skip_before_action :verify_authenticity_token
+  class UserPreferencesController < ApiController
     before_action :authorize
 
     authorize_resource
     before_action :authorize
 
     authorize_resource
@@ -10,34 +9,23 @@ module Api
 
     ##
     # return all the preferences as an XML document
 
     ##
     # return all the preferences as an XML document
-    def read
-      doc = OSM::API.new.get_xml_doc
+    def index
+      @user_preferences = current_user.preferences
 
 
-      prefs = current_user.preferences
-
-      el1 = XML::Node.new "preferences"
-
-      prefs.each do |pref|
-        el1 << pref.to_xml_node
-      end
-
-      doc.root << el1
-      render :xml => doc.to_s
+      render :formats => [:xml]
     end
 
     ##
     # return the value for a single preference
     end
 
     ##
     # return the value for a single preference
-    def read_one
+    def show
       pref = UserPreference.find([current_user.id, params[:preference_key]])
 
       render :plain => pref.v.to_s
     end
 
     # update the entire set of preferences
       pref = UserPreference.find([current_user.id, params[:preference_key]])
 
       render :plain => pref.v.to_s
     end
 
     # update the entire set of preferences
-    def update
-      old_preferences = current_user.preferences.each_with_object({}) do |preference, preferences|
-        preferences[preference.k] = preference
-      end
+    def update_all
+      old_preferences = current_user.preferences.index_by(&:k)
 
       new_preferences = {}
 
 
       new_preferences = {}
 
@@ -64,7 +52,7 @@ module Api
 
     ##
     # update the value of a single preference
 
     ##
     # update the value of a single preference
-    def update_one
+    def update
       begin
         pref = UserPreference.find([current_user.id, params[:preference_key]])
       rescue ActiveRecord::RecordNotFound
       begin
         pref = UserPreference.find([current_user.id, params[:preference_key]])
       rescue ActiveRecord::RecordNotFound
@@ -81,7 +69,7 @@ module Api
 
     ##
     # delete a single preference
 
     ##
     # delete a single preference
-    def delete_one
+    def destroy
       UserPreference.find([current_user.id, params[:preference_key]]).delete
 
       render :plain => ""
       UserPreference.find([current_user.id, params[:preference_key]]).delete
 
       render :plain => ""