Method: Upperkut::Middleware::Chain#invoke
- Defined in:
- lib/upperkut/middleware.rb
#invoke(*args) ⇒ Object
20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/upperkut/middleware.rb', line 20 def invoke(*args) chain = @items.map(&:new) traverse_chain = lambda do if chain.empty? yield else chain.shift.call(*args, &traverse_chain) end end traverse_chain.call end |