class Timeru::Timer

Public Class Methods

new(hours=0, minutes=0, seconds) click to toggle source
# File lib/timeru/timer.rb, line 6
def initialize hours=0, minutes=0, seconds
  @time = hours * 3600 + minutes * 60 + seconds
end

Public Instance Methods

create_display(seconds) click to toggle source
# File lib/timeru/timer.rb, line 23
def create_display seconds
  seconds_display = seconds % 60
  minutes_display = (seconds / 60) % 60
  hours_dispaly = (seconds / 60) / 60
  seconds_display = seconds_display.to_i
  minutes_display = minutes_display.to_i
  hours_dispaly = hours_dispaly.to_i

  string =  "%02d:" %[hours_dispaly]
  string << "%02d:" %[minutes_display]
  string << "%02d" %[seconds_display]

  return string
end
start() click to toggle source
# File lib/timeru/timer.rb, line 10
def start
  puts "..."
  cursor = TTY::Cursor
  @time.downto 0 do |sec|
    print cursor.prev_line
    print cursor.clear_line
    puts create_display(sec)
    sleep 1
  end
  puts "done"
end