module Ruter::Middleware::ClassMethods

Public Instance Methods

use(middleware, *args, &block) click to toggle source

Public: Adds given Rack middleware to the stack.

Examples

require "rack/common_logger"
require "rack/show_exceptions"

Ruter.use(Rack::CommonLogger)
Ruter.use(Rack::ShowExceptions)
# File lib/ruter/middleware.rb, line 15
def use(middleware, *args, &block)
  self.middleware << proc { |app| middleware.new(app, *args, &block) }
end

Private Instance Methods

build_app(syro) click to toggle source

Internal: Overrides app composition from core.

# File lib/ruter/middleware.rb, line 31
        def build_app(syro)
  @_app = if middleware.empty?
    syro
  else
    middleware.reverse.inject(syro) { |a, m| m.call(a) }
  end
end