Sha256: 639ab9c17f10b094ca988033b25ce4557aa0dc84b16330c723954d642f84ae18
Contents?: true
Size: 1.63 KB
Versions: 1
Compression:
Stored size: 1.63 KB
Contents
module Outpost module Controller module Preferences extend ActiveSupport::Concern included do helper_method :preference end # Public: Getter for preference. # Preferences are stored in the browser's session on a per-resource # basis. # # key - (String) The key for the preference. # # Examples # # preference("posts_order") # # => "updated_at" # # Returns String of the requested preference. def preference(key) session["preference_#{key}"] end # Public: Writer for preference. # # key - (String) The key to write to. # value - (String) The value of the preference. # # Examples # # set_preference("posts_order", "updated_at") # preference("posts_order") # # => "updated_at" # # Returns nothing. def set_preference(key, value) session["preference_#{key}"] = value end # Public: Unset a preference. # # key - (String) The key to delete from preferences. # # Examples # # unset_preference("posts_order") # preference("posts_order") # # => nil # # Returns nothing. def unset_preference(key) set_preference(key, nil) end private def remove_preferences Outpost.config.preferences.each do |preference| key = "#{model.content_key}_#{preference}" if params[preference] == "" && preference(key).present? unset_preference(key) end end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
outpost-cms-0.0.3 | lib/outpost/controller/preferences.rb |