Represents a specific position in the application’s middleware stack where new middleware can be inserted.
Public Class methods
new(app, middleware, position)
[show source]
# File lib/roda/plugins/middleware_stack.rb 22 def initialize(app, middleware, position) 23 @app = app 24 @middleware = middleware 25 @position = position 26 end
Public Instance methods
use(*args, &block)
Insert a new middleware into the current position in the middleware stack. Increments the position so that calling this multiple times adds later middleware after earlier middleware, similar to how Roda.use
works.
[show source]
# File lib/roda/plugins/middleware_stack.rb 31 def use(*args, &block) 32 @middleware.insert(@position, [args, block]) 33 @app.send(:build_rack_app) 34 @position += 1 35 nil 36 end