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.



53
54
55
56
# File 'lib/active_record/session_store/session.rb', line 53

def initialize(attributes = nil)
  @data = nil
  super
end

Instance Attribute Details

#dataObject

Lazy-unmarshal session state.



59
60
61
# File 'lib/active_record/session_store/session.rb', line 59

def data
  @data ||= self.class.unmarshal(read_attribute(@@data_column_name)) || {}
end

Class Method Details

.data_column_size_limitObject



17
18
19
# File 'lib/active_record/session_store/session.rb', line 17

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.



22
23
24
25
# File 'lib/active_record/session_store/session.rb', line 22

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’.



10
# File 'lib/active_record/session_store/session.rb', line 10

cattr_accessor :data_column_name

#loaded?Boolean

Has the session been loaded yet?

Returns:

  • (Boolean)


66
67
68
# File 'lib/active_record/session_store/session.rb', line 66

def loaded?
  @data
end