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