Class: Apiture::MiddlewareStack

Inherits:
Object
  • Object
show all
Defined in:
lib/apiture/middleware_stack.rb

Instance Method Summary collapse

Constructor Details

#initialize(middlewares) ⇒ MiddlewareStack

Returns a new instance of MiddlewareStack.



4
5
6
7
8
9
10
11
12
13
14
# File 'lib/apiture/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

Instance Method Details

#call(env) ⇒ Object



16
17
18
# File 'lib/apiture/middleware_stack.rb', line 16

def call(env)
  @first.call(env)
end