Class: ActiveRecord::SessionStore::Session
- Inherits:
-
Base
- Object
- Base
- ActiveRecord::SessionStore::Session
- Extended by:
- ClassMethods
- Defined in:
- lib/active_record/session_store/session.rb
Overview
The default Active Record class.
Constant Summary collapse
- SEMAPHORE =
Mutex.new
Instance Attribute Summary collapse
-
#data ⇒ Object
Lazy-deserialize session state.
Class Method Summary collapse
- .data_column_size_limit ⇒ Object
-
.find_by_session_id(session_id) ⇒ Object
Hook to set up sessid compatibility.
Instance Method Summary collapse
-
#data_column_name ⇒ Object
:singleton-method: Customizable data column name.
-
#initialize ⇒ Session
constructor
A new instance of Session.
-
#loaded? ⇒ Boolean
Has the session been loaded yet?.
Methods included from ClassMethods
create_table!, deserialize, drop_table!, serialize, serializer_class
Constructor Details
#initialize ⇒ Session
Returns a new instance of Session.
64 65 66 67 |
# File 'lib/active_record/session_store/session.rb', line 64 def initialize(*) @data = nil super end |
Instance Attribute Details
#data ⇒ Object
Lazy-deserialize session state.
70 71 72 |
# File 'lib/active_record/session_store/session.rb', line 70 def data @data ||= self.class.deserialize(read_attribute(@@data_column_name)) || {} end |
Class Method Details
.data_column_size_limit ⇒ Object
28 29 30 |
# File 'lib/active_record/session_store/session.rb', line 28 def data_column_size_limit @data_column_size_limit ||= columns_hash[data_column_name].limit end |
.find_by_session_id(session_id) ⇒ Object
Hook to set up sessid compatibility.
33 34 35 36 |
# File 'lib/active_record/session_store/session.rb', line 33 def find_by_session_id(session_id) SEMAPHORE.synchronize { setup_sessid_compatibility! } find_by_session_id(session_id) end |
Instance Method Details
#data_column_name ⇒ Object
:singleton-method: Customizable data column name. Defaults to ‘data’.
14 |
# File 'lib/active_record/session_store/session.rb', line 14 cattr_accessor :data_column_name |
#loaded? ⇒ Boolean
Has the session been loaded yet?
77 78 79 |
# File 'lib/active_record/session_store/session.rb', line 77 def loaded? @data end |