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



34
35
36
37
38
39
40
41
# File 'lib/active_record/session_store.rb', line 34

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



25
26
27
# File 'lib/active_record/session_store.rb', line 25

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

#drop_table!Object



29
30
31
32
# File 'lib/active_record/session_store.rb', line 29

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

#serialize(data) ⇒ Object



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

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

#serializer_classObject



43
44
45
46
47
48
49
50
51
52
53
54
55
56
# File 'lib/active_record/session_store.rb', line 43

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