lib/mongo/session/server_session.rb in mongo-2.5.0.beta vs lib/mongo/session/server_session.rb in mongo-2.5.0

- old
+ new

@@ -44,30 +44,60 @@ # ServerSession.new # # @since 2.5.0 def initialize set_last_use! + session_id + @txn_num = -1 end # Update the last_use attribute of the server session to now. # # @example Set the last use field to now. # server_session.set_last_use! # + # @return [ Time ] The last time the session was used. + # # @since 2.5.0 def set_last_use! @last_use = Time.now end # The session id of this server session. # # @example Get the session id. # server_session.session_id # + # @return [ BSON::Document ] The session id. + # # @since 2.5.0 def session_id @session_id ||= (bytes = [SecureRandom.uuid.gsub(DASH_REGEX, '')].pack(UUID_PACK) BSON::Document.new(id: BSON::Binary.new(bytes, :uuid))) + end + + # Increment and return the next transaction number. + # + # @example Get the next transaction number. + # server_session.next_txn_num + # + # @return [ Integer ] The next transaction number. + # + # @since 2.5.0 + def next_txn_num + @txn_num += 1 + end + + # Get a formatted string for use in inspection. + # + # @example Inspect the session object. + # session.inspect + # + # @return [ String ] The session inspection. + # + # @since 2.5.0 + def inspect + "#<Mongo::Session::ServerSession:0x#{object_id} session_id=#{session_id} last_use=#{@last_use}>" end end end end