module ActiveRecord::SessionStore::ClassMethods

def create_table!

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

def deserialize(data)

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

def drop_table!

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

def serialize(data)

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

def serializer_class

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