- before_filter :authorize
- before_filter :require_allow_read_prefs, :only => [:read_one, :read]
- before_filter :require_allow_write_prefs, :except => [:read_one, :read]
-
- def read_one
- pref = UserPreference.find(@user.id, params[:preference_key])
-
- render :text => pref.v.to_s
- rescue ActiveRecord::RecordNotFound => ex
- render :text => 'OH NOES! PREF NOT FOUND!', :status => :not_found
- end
-
- def update_one
- begin
- pref = UserPreference.find(@user.id, params[:preference_key])
- pref.v = request.raw_post.chomp
- pref.save
- rescue ActiveRecord::RecordNotFound
- pref = UserPreference.new
- pref.user = @user
- pref.k = params[:preference_key]
- pref.v = request.raw_post.chomp
- pref.save
- end
-
- render :nothing => true
- end
-
- def delete_one
- UserPreference.delete(@user.id, params[:preference_key])
-
- render :nothing => true
- rescue ActiveRecord::RecordNotFound => ex
- render :text => "param: #{params[:preference_key]} not found", :status => :not_found
- end
-
- # print out all the preferences as a big xml block
+ skip_before_action :verify_authenticity_token
+ before_action :authorize
+ before_action :require_allow_read_prefs, :only => [:read_one, :read]
+ before_action :require_allow_write_prefs, :except => [:read_one, :read]
+ around_action :api_call_handle_error
+
+ ##
+ # return all the preferences as an XML document