Ruby でタイマーを作った

Gem 'kaki-utils' に入れた。
 
timer.rb

module Utils
  #簡易タイマー
  def timer(minutes)
    end_time = Time.now + (minutes * 60).to_i
    
    while Time.now < end_time
      print "\e[2K\e[1G" + "left: #{(end_time - Time.now).to_i} sec."
      sleep(1)
    end
    
    Utils.bell
    puts
  end
  module_function :timer
end

 
使用例。30秒後にベルが鳴る。(Ubuntu のみ)

$ bundle exec irb
irb(main):001:0> require "kaki/utils"
=> true
irb(main):002:0> Utils.timer(0.5)
left: 0 sec.
=> nil