class GitWakaTime::Cli

Provides two CLI heartbeats init and tally

Public Instance Methods

init() click to toggle source
# File lib/gitwakatime/cli.rb, line 21
def init
  unless File.exist?(File.join(Dir.home, '.wakatime.yml'))
    api_key = ask('What is your wakatime api key? ( Get it here https://wakatime.com/settings):')
    say('Adding .wakatime.yml to home directory')

    create_file File.join(Dir.home, '.wakatime.yml') do
      YAML.dump(api_key: api_key, last_commit: nil, log_level: :info)
    end
  end
  reset
end
print_commit(c_date, commits) click to toggle source
print_output(timer, format: 'text') click to toggle source
reset() click to toggle source
# File lib/gitwakatime/cli.rb, line 34
def reset
  DB.disconnect

  db_path = File.expand_path(File.join(Dir.home, '.wakatime.sqlite'))
  FileUtils.rm_r(db_path) if File.exist?(db_path)
  DB.connect("sqlite://#{db_path}")
  GitWakaTime.config.setup_local_db
end
tally() click to toggle source
# File lib/gitwakatime/cli.rb, line 48
def tally
  date = Date.parse(options.start_on)


  @timer = GitWakaTime::Controller.new(
    path: File.expand_path(options.file), date: date
  ).timer

  print_output(@timer, format: options.output)
end
update() click to toggle source
# File lib/gitwakatime/cli.rb, line 61
def update
  GitWakaTime.config.setup_local_db
  GitWakaTime.config.load_config_yaml
  date = Date.parse(options.start_on || GitWakaTime::Heartbeat.max(:time))

  GitWakaTime::Query.new(date, Date.today, @project).call
end