Sha256: e7562bf38f0e75894f8ece6da95acb0cda59235b346dd0d45e43815ceb8d5303

Contents?: true

Size: 392 Bytes

Versions: 1

Compression:

Stored size: 392 Bytes

Contents

require "io/grab/version"

class IO
  module Grab
    def grab &block
      @grabbed_output = ""
      class << self
        def write arg
          @grabbed_output += arg
        end
      end

      begin
        yield
      ensure
        singleton_class.send :remove_method, :write
      end

      @grabbed_output
    end
  end

  include Grab
end

class StringIO
  include IO::Grab
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
io-grab-0.0.1 lib/io/grab.rb