Harbor::Contrib::Session::DataMapper
This is a database backed session handle for DataMapper. You can use it instead of the builtin Harbor::Session::Cookie by doing:
Harbor::Session.configure do |session|
session[:store] = Harbor::Contrib::Session::DataMapper
end
A basic Session resource is defined for you.
Parent
Methods
Public Class Methods
commit_session(data, request)
# File lib/harbor/contrib/session/data_mapper.rb, line 61 61: def self.commit_session(data, request) 62: record = data.instance 63: record.update_attributes(:data => data.to_hash) 64: record.id 65: end
load_session(delegate, cookie, request = nil)
# File lib/harbor/contrib/session/data_mapper.rb, line 46 46: def self.load_session(delegate, cookie, request = nil) 47: session = if expire_after = Harbor::Session.options[:expire_after] 48: ::Session.first(:id => cookie, :updated_at.gte => Time.now - expire_after) 49: else 50: ::Session.get(cookie) 51: end 52: 53: unless session 54: session = ::Session.create 55: delegate.session_created(session.id, request.remote_ip, request.env["HTTP_USER_AGENT"]) 56: end 57: 58: SessionHash.new(session) 59: end