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.

Constant Summary collapse

SEMAPHORE =
Mutex.new

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods included from ClassMethods

create_table!, deserialize, drop_table!, serialize, serializer_class

Constructor Details

#initializeSession

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

#dataObject

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_limitObject



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_nameObject

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

Returns:

  • (Boolean)


77
78
79
# File 'lib/active_record/session_store/session.rb', line 77

def loaded?
  @data
end