Class: Merb::DataMapperSessionStore

Inherits:
Object
  • Object
show all
Includes:
DataMapper::Resource
Defined in:
lib/merb/session/data_mapper_session.rb

Class Method Summary collapse

Class Method Details

.default_repository_nameObject



48
49
50
# File 'lib/merb/session/data_mapper_session.rb', line 48

def self.default_repository_name
  Merb::Plugins.config[:merb_datamapper][:session_repository_name] || :default
end

.delete_session(session_id) ⇒ Object

Deletes a session with the given id

Parameters:

  • session_id (String)

    The session to destroy



44
45
46
# File 'lib/merb/session/data_mapper_session.rb', line 44

def self.delete_session(session_id)
  all(:session_id => session_id).destroy!
end

.retrieve_session(session_id) ⇒ Object

Retrieves a session from the session store

Parameters:

  • session_id (String)

    The session_id to retrieve the session for



20
21
22
23
24
# File 'lib/merb/session/data_mapper_session.rb', line 20

def self.retrieve_session(session_id)
  if session = get(session_id)
    session.data
  end
end

.store_session(session_id, data) ⇒ Object

Stores the data in a session with the given session_id, creating it if required

Parameters:

  • session_id (String)

    The session_id to find the session by, or the id of the new session

  • data (Object)

    The data to be stored in the session. Probably a hash



32
33
34
35
36
37
38
# File 'lib/merb/session/data_mapper_session.rb', line 32

def self.store_session(session_id, data)
  if session = get(session_id)
    session.update_attributes(:data => data)
  else
    create(:session_id => session_id, :data => data)
  end
end