class Toggl::Jobcan::Cli
CLI provider
Constants
- DEFAULT_JOBCAN_CREDENTIAL_FILE_PATH
- DEFAULT_TOGGL_WORKTIME_CONFIG_FILE_PATH
Public Class Methods
new(*args)
click to toggle source
Calls superclass method
# File lib/toggl/jobcan/cli.rb, line 66 def initialize(*args) super @target_days = [] end
Public Instance Methods
jobcan()
click to toggle source
# File lib/toggl/jobcan/cli.rb, line 87 def jobcan @jobcan ||= Toggl::Jobcan::Client.new( credentials: @jc_credentials, toggl_worktime_config: options[:tw_config], dryrun: options[:dryrun] ) @jobcan end
main(*args)
click to toggle source
# File lib/toggl/jobcan/cli.rb, line 43 def main(*args) parse_args(args) puts '*** DRYRUN MODE ***' if options[:dryrun] show_target_days return if options[:days] prepare_jobcan puts 'Driver ready' register_days jobcan.driver.quit puts 'All Input finished' end
parse_args(args)
click to toggle source
# File lib/toggl/jobcan/cli.rb, line 71 def parse_args(args) @target_days = args.map do |s| raise RangeError, "Invalid format #{s}" unless s.match?(/\d{8}/) Date.parse(s) end raise NoDayGivenError if @target_days.size.zero? end
prepare_jobcan()
click to toggle source
# File lib/toggl/jobcan/cli.rb, line 80 def prepare_jobcan @jc_credentials = Toggl::Jobcan::Credentials.new( path: options[:jc_credential] ) jobcan.login end
register_day(date)
click to toggle source
# File lib/toggl/jobcan/cli.rb, line 109 def register_day(date) puts "Input date: #{date}" working_times = jobcan.fetch_toggl_worktime(date).flatten if working_times.any?(&:nil?) puts 'Includes nil data: skip' return end jobcan.navigate_to_attendance_modify_day(date) jobcan.input_day_worktime(date, working_times) sleep 1 puts " - Finish: #{date}; Total time: #{jobcan.toggl.total_time}" end
register_days()
click to toggle source
# File lib/toggl/jobcan/cli.rb, line 103 def register_days @target_days.each do |date| register_day(date) end end
show_target_days()
click to toggle source
# File lib/toggl/jobcan/cli.rb, line 96 def show_target_days puts 'Target days:' @target_days.each do |date| puts " - #{date.strftime('%F')}" end end
version()
click to toggle source
# File lib/toggl/jobcan/cli.rb, line 61 def version puts "Version #{Toggl::Jobcan::VERSION}" end