module Frecli::Cli

Public Class Methods

log(description = '') click to toggle source
# File lib/frecli/cli.rb, line 40
def self.log(description = '')
  timer = Frecli.timer_current

  unless timer
    puts 'No timer running.'
    return
  end

  if Frecli.timer_log(timer, description)
    puts "Logged #{timer.project.name} (#{timer.formatted_time})."
    puts %Q("#{description}") unless description.empty?
  else
    puts 'Could not log timer.'
  end
end
pause() click to toggle source
# File lib/frecli/cli.rb, line 25
def self.pause
  timer = Frecli.timer_current

  unless timer
    puts 'No timer running.'
    return
  end

  if Frecli.timer_pause(timer)
    puts "Paused #{timer.project.name} (#{timer.formatted_time})."
  else
    puts 'Could not pause timer.'
  end
end
status() click to toggle source
# File lib/frecli/cli.rb, line 5
def self.status
  timer = Frecli.timer_current

  if timer
    puts "Timer running on #{timer.project.name} (#{timer.formatted_time})."
  else
    puts "No timer running."
  end
end
time(project_query) click to toggle source
# File lib/frecli/cli.rb, line 15
def self.time(project_query)
  project = FuzzyMatch
    .new(Frecli.projects, read: :name)
    .find(project_query)

  timer = Frecli.timer_start(project)

  puts "Now timing #{project.name} (#{timer.formatted_time})."
end