diff --git a/actionpack/lib/action_dispatch/middleware/stack.rb b/actionpack/lib/action_dispatch/middleware/stack.rb index 24be4fe..6c53d39 100644 --- a/actionpack/lib/action_dispatch/middleware/stack.rb +++ b/actionpack/lib/action_dispatch/middleware/stack.rb @@ -85,9 +85,10 @@ module ActionDispatch end def insert(index, *args, &block) - index = self.index(index) unless index.is_a?(Integer) + i = index.is_a?(Integer) ? index : self.index(index) + raise "No such middleware to insert before: #{index.inspect}" unless i middleware = Middleware.new(*args, &block) - super(index, middleware) + super(i, middleware) end alias_method :insert_before, :insert