OStreamCatcher
Catches stdout and stderr for ruby blocks.
Installation
Add this to your Gemfile:
gem 'o_stream_catcher'
Example
require 'o_stream_catcher'
result, stdout, stderr = OStreamCatcher.catch do
print "Hello World!"
42
end
result # => 42
stdout # => "Hello World!"
Further reading
For a more detailed description of this gem and it's source, see this article on my blog.
TODO
- Add an option to read caught output without muting it.