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.
Instance Attribute Summary collapse
-
#data ⇒ Object
Lazy-unmarshal 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(attributes = nil) ⇒ Session
constructor
A new instance of Session.
-
#loaded? ⇒ Boolean
Has the session been loaded yet?.
Methods included from ClassMethods
create_table!, drop_table!, marshal, unmarshal
Constructor Details
#initialize(attributes = nil) ⇒ Session
Returns a new instance of Session.
62 63 64 65 |
# File 'lib/active_record/session_store/session.rb', line 62 def initialize(attributes = nil) @data = nil super end |
Instance Attribute Details
#data ⇒ Object
Lazy-unmarshal session state.
68 69 70 |
# File 'lib/active_record/session_store/session.rb', line 68 def data @data ||= self.class.unmarshal(read_attribute(@@data_column_name)) || {} end |
Class Method Details
.data_column_size_limit ⇒ Object
26 27 28 |
# File 'lib/active_record/session_store/session.rb', line 26 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.
31 32 33 34 |
# File 'lib/active_record/session_store/session.rb', line 31 def find_by_session_id(session_id) Thread.exclusive { 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’.
12 |
# File 'lib/active_record/session_store/session.rb', line 12 cattr_accessor :data_column_name |
#loaded? ⇒ Boolean
Has the session been loaded yet?
75 76 77 |
# File 'lib/active_record/session_store/session.rb', line 75 def loaded? @data end |