module Outpost::Controller::Preferences

Public Instance Methods

preference(key) click to toggle source

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.

# File lib/outpost/controller/preferences.rb, line 22
def preference(key)
  session["preference_#{key}"]
end
set_preference(key, value) click to toggle source

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.

# File lib/outpost/controller/preferences.rb, line 38
def set_preference(key, value)
  session["preference_#{key}"] = value
end
unset_preference(key) click to toggle source

Public: Unset a preference.

key - (String) The key to delete from preferences.

Examples

unset_preference("posts_order")
preference("posts_order")
# => nil

Returns nothing.

# File lib/outpost/controller/preferences.rb, line 53
def unset_preference(key)
  set_preference(key, nil)
end

Private Instance Methods

remove_preferences() click to toggle source
# File lib/outpost/controller/preferences.rb, line 60
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