module Mongoid::Sessions
Public Class Methods
Clear all sessions from the current thread.
@example Clear all sessions.
Mongoid::Sessions.clear
@return [ Array ] The empty sessions.
@since 3.0.0
# File lib/mongoid/sessions.rb, line 26 def clear Threaded.sessions.clear end
Get the default session.
@example Get the default session.
Mongoid::Sessions.default
@return [ Moped::Session ] The default session.
@since 3.0.0
# File lib/mongoid/sessions.rb, line 38 def default Threaded.sessions[:default] ||= Sessions::Factory.default end
Disconnect all active sessions.
@example Disconnect all active sessions.
Mongoid::Sessions.disconnect
@return [ true ] True.
@since 3.1.0
# File lib/mongoid/sessions.rb, line 50 def disconnect Threaded.sessions.values.each do |session| session.disconnect end end
Get a session with the provided name.
@example Get a session with the name.
Mongoid::Sessions.with_name(:replica)
@param [ Symbol
] name The name of the session.
@return [ Moped::Session ] The named session.
@since 3.0.0
# File lib/mongoid/sessions.rb, line 66 def with_name(name) Threaded.sessions[name.to_sym] ||= Sessions::Factory.create(name) end
Public Instance Methods
Get the collection for this model from the session. Will check for an overridden collection name from the store_in macro or the collection with a pluralized model name.
@example Get the model’s collection.
Model.collection
@return [ Moped::Collection ] The collection.
@since 3.0.0
# File lib/mongoid/sessions.rb, line 81 def collection mongo_session[collection_name] end
# File lib/mongoid/sessions.rb, line 89 def collection_name persistence_options.try { |opts| opts[:collection] } || self.class.collection_name end
# File lib/mongoid/sessions.rb, line 85 def mongo_session persistence_options ? self.class.mongo_session.with(persistence_options) : self.class.mongo_session end