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)