diff options
author | Vipul A M <vipulnsward@gmail.com> | 2015-01-15 12:12:33 +0530 |
---|---|---|
committer | Vipul A M <vipulnsward@gmail.com> | 2015-01-20 22:28:48 +0530 |
commit | 166ce95f65cd6b54e23d43e0e61875d6c3a38047 (patch) | |
tree | 8ee4222277b604cd39b27b78e8db0b4a5087bb69 /activesupport/lib | |
parent | 850159bd2c5e1e108d0256dd05424bbbf7926b59 (diff) | |
download | rails-166ce95f65cd6b54e23d43e0e61875d6c3a38047.tar.gz rails-166ce95f65cd6b54e23d43e0e61875d6c3a38047.tar.bz2 rails-166ce95f65cd6b54e23d43e0e61875d6c3a38047.zip |
- Extracted silence_stream method to new module in activesupport/testing.
- Added include for the same in ActiveSupport::Test.
- Removed occurrences of silence_stream being used elsewhere.
- Reordered activesupport testcase requires alphabetically.
- Removed require of silence stream from test_case
- Moved quietly method to stream helper
- Moved capture output to stream helper module and setup requires for the same elsewhere
Diffstat (limited to 'activesupport/lib')
-rw-r--r-- | activesupport/lib/active_support/testing/stream.rb | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/activesupport/lib/active_support/testing/stream.rb b/activesupport/lib/active_support/testing/stream.rb new file mode 100644 index 0000000000..895192ad05 --- /dev/null +++ b/activesupport/lib/active_support/testing/stream.rb @@ -0,0 +1,42 @@ +module ActiveSupport + module Testing + module Stream #:nodoc: + private + + def silence_stream(stream) + old_stream = stream.dup + stream.reopen(IO::NULL) + stream.sync = true + yield + ensure + stream.reopen(old_stream) + old_stream.close + end + + def quietly + silence_stream(STDOUT) do + silence_stream(STDERR) do + yield + end + end + end + + def capture(stream) + stream = stream.to_s + captured_stream = Tempfile.new(stream) + stream_io = eval("$#{stream}") + origin_stream = stream_io.dup + stream_io.reopen(captured_stream) + + yield + + stream_io.rewind + return captured_stream.read + ensure + captured_stream.close + captured_stream.unlink + stream_io.reopen(origin_stream) + end + end + end +end |