class Progress::Beeper

Repeatedly run block of code after time interval

Public Class Methods

new(time) { || ... } click to toggle source
# File lib/progress/beeper.rb, line 6
def initialize(time)
  @thread = Thread.new do
    loop do
      @skip = false
      sleep time
      yield unless @skip
    end
  end
end

Public Instance Methods

restart() click to toggle source
# File lib/progress/beeper.rb, line 16
def restart
  @skip = true
  @thread.run
end
stop() click to toggle source
# File lib/progress/beeper.rb, line 21
def stop
  @thread.kill
end