gitlab-org--gitlab-foss/lib/gitlab/session.rb
James Edwards-Jones 5faa98f481 Session stored globally per request
- This can be accessed with Session.current and is restored after.
- Data can be stored under a key with NamespacedSessionStore
2019-05-02 12:28:26 +07:00

27 lines
444 B
Ruby

# frozen_string_literal: true
module Gitlab
class Session
STORE_KEY = :session_storage
class << self
def with_session(session)
old = self.current
self.current = session
yield
ensure
self.current = old
end
def current
Thread.current[STORE_KEY]
end
protected
def current=(value)
Thread.current[STORE_KEY] = value
end
end
end
end