class StarTrack::Commands
Public Class Methods
build_constant(namespace, name)
click to toggle source
# File lib/star_track/commands.rb, line 45 def self.build_constant(namespace, name) class_name = name.split(/-|\s|_/).map(&:capitalize).join("") const_get "#{namespace}::#{class_name}" end
help()
click to toggle source
# File lib/star_track/commands.rb, line 3 def self.help puts "" print "> star_track help ".colorize(:green) puts "- pretty obvious, isn't it?" print "> star_track hh:mm ".colorize(:green) puts "- time tracks hh hours and mm minutes, ex: star_track 8:00" puts "" end
runner()
click to toggle source
# File lib/star_track/commands.rb, line 13 def self.runner config = YAML.load_file("#{ENV['HOME']}/.star_track.yaml") task_manager_name = config["task_manager"] time_tracker_name = config["time_tracker"] ErrorHandler.raise_missing_config(:task_manager) unless task_manager_name ErrorHandler.raise_missing_config(:time_tracker) unless time_tracker_name task_manager = build_constant(TaskManager, task_manager_name).new time_tracker = build_constant(TimeTracker, time_tracker_name).new puts "" print "Task manager: ".colorize(:blue) puts task_manager_name.capitalize print "Time tracker: ".colorize(:blue) puts time_tracker_name.capitalize puts "" puts "=> Loading today tasks...".colorize(:green) today_tasks = task_manager.today_tasks puts "==> Here is what you did today:".colorize(:green) today_tasks.each { |task| puts "- #{task}" } puts "" puts "=> Now creating entry on the time tracker...".colorize(:green) time_tracker.track(today_tasks) puts "==> Entry created successfully!".colorize(:green) puts "" end