class Rails::DataMapper::SessionStore

Constants

SESSION_RECORD_KEY

Private Instance Methods

destroy(env) click to toggle source
# File lib/dm-rails/session_store.rb, line 63
def destroy(env)
  find_session(current_session_id(env)).destroy
end
find_session(sid) click to toggle source
# File lib/dm-rails/session_store.rb, line 59
def find_session(sid)
  self.class.session_class.first_or_new(:session_id => sid)
end
get_session(env, sid) click to toggle source
# File lib/dm-rails/session_store.rb, line 37
def get_session(env, sid)
  sid ||= generate_sid
  session = find_session(sid)
  env[SESSION_RECORD_KEY] = session
  [ sid, session.data ]
end
get_session_resource(env, sid) click to toggle source
# File lib/dm-rails/session_store.rb, line 51
def get_session_resource(env, sid)
  if env[ENV_SESSION_OPTIONS_KEY][:id].nil?
    env[SESSION_RECORD_KEY] = find_session(sid)
  else
    env[SESSION_RECORD_KEY] ||= find_session(sid)
  end
end
set_session(env, sid, session_data) click to toggle source
# File lib/dm-rails/session_store.rb, line 44
def set_session(env, sid, session_data)
  session            = get_session_resource(env, sid)
  session.data       = session_data
  session.updated_at = DateTime.now if session.dirty?
  session.save ? sid : false
end