Module: ActiveRecord::SessionStore::ClassMethods

Included in:
Session, SqlBypass
Defined in:
lib/active_record/session_store.rb

Overview

:nodoc:

Defined Under Namespace

Classes: HybridSerializer, JsonSerializer, MarshalSerializer, NullSerializer

Instance Method Summary collapse

Instance Method Details

#create_table!Object



27
28
29
30
31
32
33
34
# File 'lib/active_record/session_store.rb', line 27

def create_table!
  connection.schema_cache.clear_data_source_cache!(table_name)
  connection.create_table(table_name) do |t|
    t.string session_id_column, :limit => 255
    t.text data_column_name
  end
  connection.add_index table_name, session_id_column, :unique => true
end

#deserialize(data) ⇒ Object



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

def deserialize(data)
  serializer_class.load(data) if data
end

#drop_table!Object



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

def drop_table!
  connection.schema_cache.clear_data_source_cache!(table_name)
  connection.drop_table table_name
end

#serialize(data) ⇒ Object



14
15
16
# File 'lib/active_record/session_store.rb', line 14

def serialize(data)
  serializer_class.dump(data) if data
end

#serializer_classObject



36
37
38
39
40
41
42
43
44
45
46
47
48
49
# File 'lib/active_record/session_store.rb', line 36

def serializer_class
  case self.serializer
    when :marshal, nil then
      MarshalSerializer
    when :json then
      JsonSerializer
    when :hybrid then
      HybridSerializer
    when :null then
      NullSerializer
    else
      self.serializer
  end
end