lib/action_dispatch/middleware/stack.rb in actionpack-6.0.6.1 vs lib/action_dispatch/middleware/stack.rb in actionpack-6.1.0.rc1
- old
+ new
@@ -120,9 +120,27 @@
def delete(target)
middlewares.delete_if { |m| m.klass == target }
end
+ def move(target, source)
+ source_index = assert_index(source, :before)
+ source_middleware = middlewares.delete_at(source_index)
+
+ target_index = assert_index(target, :before)
+ middlewares.insert(target_index, source_middleware)
+ end
+
+ alias_method :move_before, :move
+
+ def move_after(target, source)
+ source_index = assert_index(source, :after)
+ source_middleware = middlewares.delete_at(source_index)
+
+ target_index = assert_index(target, :after)
+ middlewares.insert(target_index + 1, source_middleware)
+ end
+
def use(klass, *args, &block)
middlewares.push(build_middleware(klass, args, block))
end
ruby2_keywords(:use) if respond_to?(:ruby2_keywords, true)