Sha256: 506035d6fc2c9d401475db73888e56d2fe28670c45af87b1d95e5d1623e2eb8f

Contents?: true

Size: 679 Bytes

Versions: 5

Compression:

Stored size: 679 Bytes

Contents

require "stringio"
module DeepTest
  module ObjectExtension
    def capture_stdout
      old_stdout, $stdout = $stdout, StringIO.new
      yield
      $stdout.string
    ensure
      $stdout = old_stdout if old_stdout
    end
    
    def retrying(description = nil, times = 5)
      i = 0
      loop do
        begin
          return yield
        rescue => e
          i += 1
          print "#{description} received exception #{e}. "
          if i < times
            puts "Retrying..."
            sleep 0.5
          else
            puts "Aborting."
            raise e
          end
        end
      end
    end
  end
end
Object.send :include, DeepTest::ObjectExtension

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
deep_test-1.1.0 lib/deep_test/extensions/object_extension.rb
deep_test-1.1.1 lib/deep_test/extensions/object_extension.rb
deep_test-1.1.2 lib/deep_test/extensions/object_extension.rb
deep_test-1.1.3 lib/deep_test/extensions/object_extension.rb
deep_test-1.1.4 lib/deep_test/extensions/object_extension.rb