Sha256: efee4b297c00e9bfaaefa0746c6eeef29713ad61c82e7d541c86873fb48e167f

Contents?: true

Size: 672 Bytes

Versions: 11

Compression:

Stored size: 672 Bytes

Contents

require 'stringio'
module Kernel

  # copied from ActiveRecord 3.1 because of conflicting name with previous IRT implementation
  # modified in the argument default in order to be used by both AR and IRT
  def capture(stream=:stdout)
    begin
      stream = stream.to_s
      eval "$#{stream} = StringIO.new"
      yield
      result = eval("$#{stream}").string
    ensure
      eval("$#{stream} = #{stream.upcase}")
    end

    result
  end
  alias :silence :capture

  def irt(bind)
    raise IRT::ArgumentTypeError, "You must pass binding instead of #{bind.class.name} object" unless bind.is_a?(Binding)
    IRT.start
    IRT::Session.enter :binding, bind
  end

end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
irt-1.3.3 lib/irt/extensions/kernel.rb
irt-1.3.2 lib/irt/extensions/kernel.rb
irt-1.3.1 lib/irt/extensions/kernel.rb
irt-1.3.0 lib/irt/extensions/kernel.rb
irt-1.2.12 lib/irt/extensions/kernel.rb
irt-1.2.11 lib/irt/extensions/kernel.rb
irt-1.2.10 lib/irt/extensions/kernel.rb
irt-1.2.9 lib/irt/extensions/kernel.rb
irt-1.2.8 lib/irt/extensions/kernel.rb
irt-1.2.7 lib/irt/extensions/kernel.rb
irt-1.2.6 lib/irt/extensions/kernel.rb