diff options
Diffstat (limited to 'ruby27-pop-extra-arg.patch')
-rw-r--r-- | ruby27-pop-extra-arg.patch | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/ruby27-pop-extra-arg.patch b/ruby27-pop-extra-arg.patch new file mode 100644 index 000000000000..566ca66112c9 --- /dev/null +++ b/ruby27-pop-extra-arg.patch @@ -0,0 +1,26 @@ +From 9ff085264c5ce3db12290c68bc8373578234e425 Mon Sep 17 00:00:00 2001 +From: dm1try <me@dmitry.it> +Date: Sat, 11 Jan 2020 22:24:15 +0300 +Subject: [PATCH] fix args forwarding in Middleware::Stack#merge_with for ruby + 2.7.0 ref #1967 + +--- + CHANGELOG.md | 1 + + lib/grape/middleware/stack.rb | 3 ++- + spec/grape/middleware/stack_spec.rb | 9 +++++++++ + 3 files changed, 12 insertions(+), 1 deletion(-) + +diff --git a/lib/grape/middleware/stack.rb b/lib/grape/middleware/stack.rb +index 8509a4653..488a51498 100644 +--- a/lib/grape/middleware/stack.rb ++++ b/lib/grape/middleware/stack.rb +@@ -78,7 +78,8 @@ def use(*args, &block) + def merge_with(middleware_specs) + middleware_specs.each do |operation, *args| + if args.last.is_a?(Proc) +- public_send(operation, *args, &args.pop) ++ last_proc = args.pop ++ public_send(operation, *args, &last_proc) + else + public_send(operation, *args) + end |