summarylogtreecommitdiffstats
path: root/ruby27-pop-extra-arg.patch
blob: 566ca66112c9204151d5ac3a2b7a05b1721d2fb8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
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