class Paradeiser::PomodoriController

Public Instance Methods

annotate() click to toggle source
# File lib/paradeiser/controllers/pomodori_controller.rb, line 49
def annotate
  raise MissingAnnotationError unless @args && @args.any?
  @pom = Repository.all.select{|p| p.kind_of?(Pomodoro)}.sort{|a,b| a.started_at <=> b.started_at}.last
  @pom.annotate(@args.join(' '))
  Repository.save(@pom)
end
cancel() click to toggle source
# File lib/paradeiser/controllers/pomodori_controller.rb, line 13
def cancel
  @pom = Repository.active
  raise NotActiveError unless @pom
  raise SingletonError.new(Pomodoro, @pom, :finish) if Repository.active? && !@pom.kind_of?(Pomodoro)
  @pom.annotate(@args.join(' ')) if @args.any?
  @pom.cancel!
  Repository.save(@pom)
end
finish() click to toggle source
# File lib/paradeiser/controllers/pomodori_controller.rb, line 22
def finish
  @pom = Repository.active
  raise NotActiveError unless @pom
  raise SingletonError.new(Pomodoro, @pom, :finish) if Repository.active? && !@pom.kind_of?(Pomodoro)
  @pom.annotate(@args.join(' ')) if @args.any?
  @pom.finish!
  Repository.save(@pom)
end
interrupt() click to toggle source
# File lib/paradeiser/controllers/pomodori_controller.rb, line 31
def interrupt
  @pom = Repository.active
  raise NotActiveError unless @pom
  raise SingletonError.new(Pomodoro, @pom, :interrupt) if Repository.active? && !@pom.kind_of?(Pomodoro)

  @pom.annotate(@args.join(' ')) if @args.any?

  if @options.external
    @interrupt_type = 'externally'
    @pom.interrupt!(:external)
  else
    @interrupt_type = 'internally'
    @pom.interrupt!
  end

  Repository.save(@pom)
end
log() click to toggle source
# File lib/paradeiser/controllers/pomodori_controller.rb, line 56
def log
  @pom = Pomodoro.new
  @pom.id = Repository.next_id
  @pom.annotate(@args.join(' ')) if @args.any?
  @pom.status = :finished
  @pom.finished_at = Time.now
  @pom.started_at = @pom.finished_at - Pomodoro::MINUTES_25 * 60
  Repository.save(@pom)
end
start() click to toggle source
# File lib/paradeiser/controllers/pomodori_controller.rb, line 5
def start
  end_break
  raise SingletonError.new(Pomodoro, Repository.active, :start) if Repository.active?

  @pom = Pomodoro.new
  Repository.save(@pom)
end

Private Instance Methods

end_break() click to toggle source
# File lib/paradeiser/controllers/pomodori_controller.rb, line 68
def end_break
  if Repository.active?
    active = Repository.active

    if active.kind_of?(Break)
      active.finish!
      Repository.save(active)
    end
  end
end