Module: ActionController::SessionManagement::ClassMethods

Defined in:
lib/action_controller/session_management.rb

Instance Method Summary collapse

Instance Method Details

#session(*args) ⇒ Object



45
46
47
48
49
50
51
# File 'lib/action_controller/session_management.rb', line 45

def session(*args)
  ActiveSupport::Deprecation.warn(
    "Disabling sessions for a single controller has been deprecated. " +
    "Sessions are now lazy loaded. So if you don't access them, " +
    "consider them off. You can still modify the session cookie " +
    "options with request.session_options.", caller)
end

#session=(options = {}) ⇒ Object



33
34
35
36
# File 'lib/action_controller/session_management.rb', line 33

def session=(options = {})
  self.session_store = nil if options.delete(:disabled)
  session_options.merge!(options)
end

#session_optionsObject

Returns the hash used to configure the session. Example use:

ActionController::Base.session_options[:secure] = true # session only available over HTTPS


41
42
43
# File 'lib/action_controller/session_management.rb', line 41

def session_options
  @session_options ||= {}
end

#session_storeObject

Returns the session store class currently used.



25
26
27
28
29
30
31
# File 'lib/action_controller/session_management.rb', line 25

def session_store
  if defined? @@session_store
    @@session_store
  else
    Session::CookieStore
  end
end

#session_store=(store) ⇒ Object

Set the session store to be used for keeping the session data between requests. By default, sessions are stored in browser cookies (:cookie_store), but you can also specify one of the other included stores (:active_record_store, :mem_cache_store, or your own custom class.



14
15
16
17
18
19
20
21
22
# File 'lib/action_controller/session_management.rb', line 14

def session_store=(store)
  if store == :active_record_store
    self.session_store = ActiveRecord::SessionStore
  else
    @@session_store = store.is_a?(Symbol) ?
      Session.const_get(store.to_s.camelize) :
      store
  end
end