blob: 561b29092b42c2a2239d78962b1616b4bfea77bf (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
# frozen_string_literal: true
require "stringio"
def capture(*streams)
streams.map!(&:to_s)
begin
result = StringIO.new
streams.each {|stream| eval "$#{stream} = result" }
yield
ensure
streams.each {|stream| eval("$#{stream} = #{stream.upcase}") }
end
result.string
end
|