Sha256: 52c71969ed518a7bd32fc36b1bd39a060270cfb0b94028ef6c13f2070d1ca742

Contents?: true

Size: 585 Bytes

Versions: 24

Compression:

Stored size: 585 Bytes

Contents

require 'pp'
require 'stringio'

module Kernel
  
  def pp_to_s(object)
    pp_out = StringIO.new
    PP.pp(object,pp_out)
    return pp_out.string
  end
  
  def retryable(options = {}, &block)
    opts = { :tries => 1, :on => Exception }.merge(options)

    retries = opts[:tries]
    retry_exceptions = [opts[:on]].flatten
    
    x = %{
      begin
        return yield
      rescue #{retry_exceptions.join(", ")} => e
        retries -= 1
        if retries > 0
          retry
        else
          raise e
        end
      end        
    }

    eval(x, &block)
  end
  
end

Version data entries

24 entries across 24 versions & 2 rubygems

Version Path
mack-facets-0.6.0 lib/extensions/kernel.rb
mack-facets-0.6.0.1 lib/extensions/kernel.rb
mack-facets-0.6.1.1 lib/mack-facets/extensions/kernel.rb
mack-facets-0.6.1 lib/mack-facets/extensions/kernel.rb
mack-facets-0.7.0.1 lib/mack-facets/extensions/kernel.rb
mack-facets-0.6.1.2 lib/mack-facets/extensions/kernel.rb
mack-facets-0.7.0 lib/mack-facets/extensions/kernel.rb
mack_ruby_core_extensions-0.1.28.100 lib/extensions/kernel.rb
mack_ruby_core_extensions-0.1.4 lib/extensions/kernel.rb
mack_ruby_core_extensions-0.1.5 lib/extensions/kernel.rb
mack_ruby_core_extensions-0.1.7 lib/extensions/kernel.rb
mack_ruby_core_extensions-0.1.8 lib/extensions/kernel.rb
mack_ruby_core_extensions-0.1.20 lib/extensions/kernel.rb
mack_ruby_core_extensions-0.1.1 lib/extensions/kernel.rb
mack_ruby_core_extensions-0.1.22 lib/extensions/kernel.rb
mack_ruby_core_extensions-0.1.26 lib/extensions/kernel.rb
mack_ruby_core_extensions-0.1.3 lib/extensions/kernel.rb
mack_ruby_core_extensions-0.1.9 lib/extensions/kernel.rb
mack_ruby_core_extensions-0.1.21 lib/extensions/kernel.rb
mack_ruby_core_extensions-0.1.23 lib/extensions/kernel.rb