rubygem-shoulda-matchers/rubygem-shoulda-matchers-3.1.2-capture-silence_stream-and-silence_stderr-were-removed-in-Rails-5.patch
2020-08-28 14:20:55 +08:00

48 lines
1.3 KiB
Diff

From 26522c6b788d96c20027d794178c83f4b6a630b7 Mon Sep 17 00:00:00 2001
From: Elliot Winkler <elliot.winkler@gmail.com>
Date: Sat, 3 Sep 2016 21:33:50 -0600
Subject: [PATCH] capture, silence_stream, and silence_stderr were removed in
Rails 5
---
spec/support/unit/capture.rb | 12 +++++++++---
1 file changed, 9 insertions(+), 3 deletions(-)
diff --git a/spec/support/unit/capture.rb b/spec/support/unit/capture.rb
index ddacfbd8..a5879954 100644
--- a/spec/support/unit/capture.rb
+++ b/spec/support/unit/capture.rb
@@ -2,7 +2,9 @@ module Kernel
# #capture, #silence_stream, and #silence_stderr are deprecated after Rails
# 4.2 and will be removed in 5.0, so just override them completely here
- undef_method :capture
+ if method_defined?(:capture)
+ undef_method :capture
+ end
def capture(stream)
stream = stream.to_s
@@ -20,7 +22,9 @@ def capture(stream)
stream_io.reopen(origin_stream)
end
- undef_method :silence_stream
+ if method_defined?(:silence_stream)
+ undef_method :silence_stream
+ end
def silence_stream(stream)
old_stream = stream.dup
@@ -32,7 +36,9 @@ def silence_stream(stream)
old_stream.close
end
- undef_method :silence_stderr
+ if method_defined?(:silence_stderr)
+ undef_method :silence_stderr
+ end
def silence_stderr
silence_stream(STDERR) { yield }