class Prb::Timer

Constants

PAUSED
WORKING

Attributes

completed[R]
paused[R]
pomodoros[R]
seconds[R]

Public Class Methods

new(opts) click to toggle source
# File lib/prb/timer.rb, line 8
def initialize(opts)
  @opts = opts

  @paused = false
  @pomodoros = opts.pomodoros

  # set pomodoro timer
  set_timer(@opts.timer)
end

Public Instance Methods

paused?() click to toggle source
# File lib/prb/timer.rb, line 42
def paused?
  @paused
end
reset() click to toggle source
# File lib/prb/timer.rb, line 36
def reset
  @paused = false
  @pomodoros = @opts.pomodoros
  set_timer(@opts.timer)
end
resume() click to toggle source
# File lib/prb/timer.rb, line 31
def resume
  @paused = false
  set_timer(@opts.timer)
end
tick() click to toggle source
# File lib/prb/timer.rb, line 18
def tick
  return if completed? or paused? 

  if @seconds == 0
    if @paused == false
      @pomodoros -= 1
      @paused = true
    end
  else
    @seconds -= 1
  end
end

Private Instance Methods

completed?() click to toggle source
# File lib/prb/timer.rb, line 53
def completed?
  @pomodoros == 0
end
set_timer(minutes) click to toggle source
# File lib/prb/timer.rb, line 48
def set_timer(minutes)
  @_seconds = minutes * 60
  @seconds = @_seconds
end