class BigSession::SessionId
SessionId
object bridges an access from users to session id
Public Class Methods
current()
click to toggle source
# File lib/big_session/session_id.rb, line 16 def current container.last end
new_session_id()
click to toggle source
def set(value = nil)
Thread.current[::BigSession::THREAD_BIG_SESSION_ID_KEY] = value || new_session_id
end
# File lib/big_session/session_id.rb, line 27 def new_session_id SecureRandom.hex(16) end
with_session_id(session_id) { || ... }
click to toggle source
# File lib/big_session/session_id.rb, line 9 def with_session_id(session_id, &_block) container.push(session_id) yield ensure container.pop end
Private Class Methods
container()
click to toggle source
# File lib/big_session/session_id.rb, line 31 def container Thread.current[::BigSession::THREAD_BIG_SESSION_CONTAINER_KEY] ||= [] end