summaryrefslogtreecommitdiff
path: root/spec/bundler/support/streams.rb
blob: b9e1d292dc330a6b57609a1f0e080f30e17d4f0e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 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