class Diesel::MiddlewareStack

Public Class Methods

new(middlewares) click to toggle source
# File lib/diesel/middleware_stack.rb, line 4
def initialize(middlewares)
  cur = ->(env){}
  middlewares.reverse.each do |(klass, options)|
    cur = if klass.instance_method(:initialize).arity == 1
      klass.new(cur)
    else
      klass.new(cur, options)
    end
  end
  @first = cur
end

Public Instance Methods

call(env) click to toggle source
# File lib/diesel/middleware_stack.rb, line 16
def call(env)
  @first.call(env)
end