class Payload::RackContainer
Uses a dependency loader to load dependencies and inject them into the Rack environment.
Accepts a Rack application and a block for loading dependencies as a {Container}. The container will be injected into each Rack request as :dependencies
in the Rack environment.
Used internally by {Railtie}.
@api private
Public Class Methods
new(app, &loader)
click to toggle source
# File lib/payload/rack_container.rb, line 13 def initialize(app, &loader) @app = app @loader = loader end
Public Instance Methods
call(env)
click to toggle source
# File lib/payload/rack_container.rb, line 18 def call(env) env[:dependencies] = @loader.call.service(:rack_env) { |container| env } @app.call(env) end