Class: Woodhouse::MiddlewareStack
- Inherits:
-
Array
- Object
- Array
- Woodhouse::MiddlewareStack
- Defined in:
- lib/woodhouse/middleware_stack.rb
Instance Method Summary collapse
- #call(*args, &final) ⇒ Object
-
#initialize(config) ⇒ MiddlewareStack
constructor
A new instance of MiddlewareStack.
Constructor Details
#initialize(config) ⇒ MiddlewareStack
Returns a new instance of MiddlewareStack.
3 4 5 |
# File 'lib/woodhouse/middleware_stack.rb', line 3 def initialize(config) @config = config end |
Instance Method Details
#call(*args, &final) ⇒ Object
7 8 9 10 11 12 13 14 15 16 17 18 |
# File 'lib/woodhouse/middleware_stack.rb', line 7 def call(*args, &final) stack = make_stack.dup next_step = lambda {|*args| next_item = stack.shift if next_item.nil? final.call(*args) else next_item.call(*args, &next_step) end } next_step.call(*args) end |