class Mute::IO

Mutes and captures stdout and stderr IO streams

Private Class Methods

capture(stream, block) click to toggle source
# File lib/mute/io.rb, line 14
def self.capture(stream, block)
  captured = StringIO.new
  original = eval("$#{stream}")
  eval "$#{stream} = captured"

  block.call if block

  captured.string
ensure
  eval "$#{stream} = original" if block
end