]> git.openstreetmap.org Git - rails.git/blobdiff - app/controllers/api/user_preferences_controller.rb
Added JSON support to user preferences
[rails.git] / app / controllers / api / user_preferences_controller.rb
index 83e28bc4e0047ef4e3a9a880a08406813f654693..10b01d69688ebdebeff0c4b4d2cff6dbd42c6543 100644 (file)
@@ -7,12 +7,17 @@ module Api
 
     around_action :api_call_handle_error
 
+    before_action :set_request_formats
+
     ##
     # return all the preferences as an XML document
     def index
       @user_preferences = current_user.preferences
 
-      render :formats => [:xml]
+      respond_to do |format|
+        format.xml
+        format.json
+      end
     end
 
     ##
@@ -25,9 +30,7 @@ module Api
 
     # update the entire set of preferences
     def update_all
-      old_preferences = current_user.preferences.each_with_object({}) do |preference, preferences|
-        preferences[preference.k] = preference
-      end
+      old_preferences = current_user.preferences.index_by(&:k)
 
       new_preferences = {}