From 26522c6b788d96c20027d794178c83f4b6a630b7 Mon Sep 17 00:00:00 2001 From: Elliot Winkler 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 }