class Rails::DataMapper::SessionStore
Constants
- ENV_SESSION_OPTIONS_KEY
for backward compatibility with
Rails
3.0- SESSION_RECORD_KEY
Private Instance Methods
destroy(env)
click to toggle source
# File lib/dm-rails/session_store.rb, line 70 def destroy(env) destroy_session(env) end
destroy_session(env, sid = nil, options = {})
click to toggle source
# File lib/dm-rails/session_store.rb, line 65 def destroy_session(env, sid = nil, options = {}) sid ||= current_session_id(env) find_session(sid).destroy end
find_session(sid)
click to toggle source
# File lib/dm-rails/session_store.rb, line 61 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 39 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 53 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, options = {})
click to toggle source
# File lib/dm-rails/session_store.rb, line 46 def set_session(env, sid, session_data, options = {}) session = get_session_resource(env, sid) session.data = session_data session.updated_at = DateTime.now if session.dirty? session.save ? sid : false end