class Captio

Constants

VERSION

Public Class Methods

new() click to toggle source
# File lib/captio.rb, line 6
def initialize
  @captors = []
end

Public Instance Methods

add(*streams, &block) click to toggle source
# File lib/captio.rb, line 10
def add(*streams, &block)
  streams.each do |stream|
    Captor.new(stream).tap do |captor|
      @captors << captor
      block.call(captor)
    end
  end
end
capture() { || ... } click to toggle source
# File lib/captio.rb, line 19
def capture
  raise ArgumentError, "Block required" unless block_given?

  @captors.map(&:start!)

  begin
    yield
  ensure
    @captors.map(&:restore!)
  end
end