class Quiver::MiddlewareStack
Attributes
middlewares[RW]
Public Class Methods
new()
click to toggle source
# File lib/quiver/middleware_stack.rb, line 5 def initialize self.middlewares = [] end
Public Instance Methods
<<(middleware)
click to toggle source
# File lib/quiver/middleware_stack.rb, line 9 def <<(middleware) middlewares << middleware @middleware_stack = nil middlewares end
stack(app)
click to toggle source
# File lib/quiver/middleware_stack.rb, line 21 def stack(app) @stack ||= rebuild_stack!(app) end
unshift(*middleware)
click to toggle source
# File lib/quiver/middleware_stack.rb, line 15 def unshift(*middleware) middlewares.unshift(*middleware) @middleware_stack = nil middlewares end
Private Instance Methods
rebuild_stack!(app)
click to toggle source
# File lib/quiver/middleware_stack.rb, line 29 def rebuild_stack!(app) middlewares.reverse.inject(app) do |app, middleware| middleware.new(app) end end