Skip to content
Find file
Fetching contributors…
Cannot retrieve contributors at this time
42 lines (36 sloc) 982 Bytes
require 'dm-core'
require 'rack_datamapper/session/datamapper'
begin
require 'securerandom'
rescue LoadError
end
module ActionController
module Session
class DatamapperStore < AbstractStore
SecureRandom =
if defined?(::SecureRandom)
# Use Ruby's SecureRandom library if available.
::SecureRandom
else
# try if there is active support around ;-)
require 'active_support'
::ActiveSupport::SecureRandom
end
def initialize(app, options = {})
super
id_generator = Proc.new do
SecureRandom.hex(16)
end
@store = ::DataMapper::Session::Abstract::Store.new(app, options, id_generator)
@options = options
end
private
def get_session(env, sid)
@store.get_session(env, sid)
end
def set_session(env, sid, session_data)
@store.set_session(env, sid, session_data, @options)
end
end
end
end
Jump to Line
Something went wrong with that request. Please try again.