class ActiveScaffold::Config::Base::UserSettings
Public Class Methods
Source
# File lib/active_scaffold/config/base.rb, line 84 def initialize(conf, storage, params, action = :base) # the session hash relevant to this action @storage = storage # all the request params @params = params # the configuration object for this action @conf = conf @action = action.to_s end
Source
# File lib/active_scaffold/config/base.rb, line 77 def self.session_attr(*names) names.each do |name| define_method(name) { |value| self[name] = value } define_method(name) { key?(name) ? self[name] : @conf.send(name) } end end
define setter and getter for names values will be saved in session if store_user_settings is enabled, in other case for current request only getter will return value set with setter, or value from conf
Source
# File lib/active_scaffold/config/base.rb, line 63 def self.user_attr(*names) attr_writer(*names) names.each do |name| define_method(name) do instance_variable_defined?(:"@#{name}") ? instance_variable_get(:"@#{name}") : @conf.send(name) end end end
define setter and getter for names values will be saved for current request only getter will return value set with setter, or value from conf
Public Instance Methods
Source
# File lib/active_scaffold/config/base.rb, line 102 def [](key) @storage[@action][key.to_s] if @action && @storage[@action] end
Source
# File lib/active_scaffold/config/base.rb, line 106 def []=(key, value) @storage[@action] ||= {} if value.present? @storage[@action][key.to_s] = value else @storage[@action].delete key.to_s @storage.delete @action if @storage[@action].empty? end end
Source
# File lib/active_scaffold/config/base.rb, line 116 def key?(key) @storage[@action].key? key.to_s if @action && @storage[@action] end
Source
# File lib/active_scaffold/config/base.rb, line 120 def method_missing(name, *args) proxy_to_conf?(name, true) ? @conf.send(name, *args) : super end
Calls superclass method
Source
# File lib/active_scaffold/config/base.rb, line 128 def proxy_to_conf?(name, include_all) name !~ /=$/ && @conf.respond_to?(name, include_all) end
Source
# File lib/active_scaffold/config/base.rb, line 124 def respond_to_missing?(name, include_all = false) proxy_to_conf?(name, include_all) || super end
Calls superclass method