Sha256: 150b13f153b568ba4fb5704da9d61c03414882f9b192288bd7f4869a56344f5e

Contents?: true

Size: 680 Bytes

Versions: 1

Compression:

Stored size: 680 Bytes

Contents

require_relative 'timeouter/timer'


module Timeouter

  TimeoutError = Timeout::Error

  class << self

    def run(timeout = 0, eclass: Timeouter::TimeoutError, emessage: 'execution expired')
      yield(Timeouter::Timer.new(timeout, eclass: eclass, emessage: emessage))
    end

    def loop(timeout = 0, eclass: Timeouter::TimeoutError, emessage: 'execution expired', &block)
      Timeouter::Timer.new(timeout, eclass: eclass, emessage: emessage).loop(&block)
    end

    def loop!(timeout = 0, eclass: Timeouter::TimeoutError, emessage: 'execution expired', &block)
      Timeouter::Timer.new(timeout, eclass: eclass, emessage: emessage).loop!(&block)
    end

  end

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
timeouter-0.1.0 lib/timeouter.rb