runtime/stdout_redirect_parens.rb
tests/_examples/runtime/stdout_redirect_parens.rb in the metorex repository.
path = "/tmp/metorex_stdout_redirect_#{Process.pid}.txt"
File.open(path, "w") do |file|
saved = $stdout
$stdout = file
p("captured")
puts("and this")
$stdout = saved
end
File.open(path) do |file|
puts(file.read(9).inspect)
puts(file.read)
end
File.delete(path)
class Described
def inspect
"<described>"
end
end
p([Described.new, "text", :symbol, nil])
p(Described.new)
Output:
"\"captured"
"
and this
[<described>, "text", :symbol, nil]
<described>