Class: ActiveRecord::SessionStore::Session

Inherits:
Base
  • Object
show all
Extended by:
ClassMethods
Defined in:
lib/active_record/session_store/session.rb

Overview

The default Active Record class.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

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

#dataObject

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_limitObject



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_nameObject

: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?

Returns:

  • (Boolean)


75
76
77
# File 'lib/active_record/session_store/session.rb', line 75

def loaded?
  @data
end