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