Class: NYNY::MiddlewareChain

Inherits:
Object
  • Object
show all
Defined in:
lib/nyny/middleware_chain.rb

Instance Method Summary collapse

Constructor Details

#initialize(middlewares, proxy) ⇒ MiddlewareChain

Returns a new instance of MiddlewareChain.



3
4
5
6
7
8
# File 'lib/nyny/middleware_chain.rb', line 3

def initialize middlewares, proxy
  @top = middlewares.reverse.reduce (proxy) do |prev, entry|
    klass, args, blk = entry
    klass.new prev, *args, &blk
  end
end

Instance Method Details

#call(env) ⇒ Object



10
11
12
# File 'lib/nyny/middleware_chain.rb', line 10

def call env
  @top.call(env)
end