Specifies server, port, db and collection location. Defaults to localhost:27017/mongo_session/sessions. Format must conform to the format {host}:{port}/{database_name}/{collection_name}.
The connection socket pool size - see mongo-ruby-driver docs for settings. Defaults to 1 connection.
The connection pool timeout. see mongo-ruby-driver docs for settings. Defaults to 1 sec.
Set to true to enable logger. Default is false
Fetch session with optional session id. Retrieve session from mongodb if any
# File lib/mongo_rack.rb, line 52 def get_session( env, sid ) return _get_session( env, sid ) unless env['rack.multithread'] mutex.synchronize do return _get_session( env, sid ) end end
Update session params and sync to mongoDB.
# File lib/mongo_rack.rb, line 60 def set_session( env, sid, new_session, options ) return _set_session( env, sid, new_session, options ) unless env['rack.multithread'] mutex.synchronize do return _set_session( env, sid, new_session, options ) end end
Initializes mongo_rack. Pass in options for default override.
# File lib/mongo_rack.rb, line 33 def initialize(app, options={}) super host, port, db_name, cltn_name = parse_server_desc( @default_options[:server] ) @mutex = Mutex.new @connection = ::Mongo::Connection.new( host, port, :pool_size => @default_options[:pool_size], :timeout => @default_options[:pool_timeout] ) @db = @connection.db( db_name ) @sessions = @db[cltn_name] @logger = ::Logger.new( $stdout ) @logger.level = set_log_level( @default_options[:log_level] ) end