Module: RailsWayback::RenderContext

Defined in:
lib/rails_wayback/render_context.rb

Overview

Exposes the request-owned render tracker to notification callbacks. Ruby fiber storage is inherited by child fibers and scoped separately for sibling fibers, which matches the lifecycle of async Rack requests.

Constant Summary collapse

KEY =
:rails_wayback_render_tracker

Class Method Summary collapse

Class Method Details

.current ⇒ Object



12
13
14
# File 'lib/rails_wayback/render_context.rb', line 12

def current
  Fiber[KEY]
end

.with(tracker) ⇒ Object



16
17
18
19
20
21
22
# File 'lib/rails_wayback/render_context.rb', line 16

def with(tracker)
  previous = current
  Fiber[KEY] = tracker
  yield
ensure
  Fiber[KEY] = previous
end