summarylogtreecommitdiffstats
path: root/ruby27-pop-extra-arg.patch
diff options
context:
space:
mode:
Diffstat (limited to 'ruby27-pop-extra-arg.patch')
-rw-r--r--ruby27-pop-extra-arg.patch26
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