Sha256: 647c8133d4effbd5c18712f66b7797ec8188ec39ea295c7ba0fda3c8819739ed

Contents?: true

Size: 358 Bytes

Versions: 2

Compression:

Stored size: 358 Bytes

Contents

class Progress
  class Beeper
    class Restart < RuntimeError; end

    def initialize(time, &block)
      @thread = Thread.new do
        begin
          sleep time
          block.call
        rescue Restart
        end
        redo
      end
    end

    def restart
      @thread.raise Restart
    end

    def stop
      @thread.kill
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
progress-3.0.1 lib/progress/beeper.rb
progress-3.0.0 lib/progress/beeper.rb