class StarTrack::TimeTracker::Freckle
Attributes
client[R]
Public Class Methods
new()
click to toggle source
# File lib/star_track/time_tracker/freckle.rb, line 8 def initialize config = YAML.load_file("#{ENV['HOME']}/.star_track.yaml")["freckle"] @token = config["token"] @project_id = config["project_id"].to_i @client = ::Freckle::Client.new(token: @token) end
Public Instance Methods
track(tasks)
click to toggle source
# File lib/star_track/time_tracker/freckle.rb, line 17 def track(tasks) params = { description: tasks.join(" - ").gsub("#", " "), project_id: @project_id, minutes: billable_time, date: Date.today.to_s, } begin client.create_entry(params) rescue => error ErrorHandler.raise(error.message) end end
Private Instance Methods
billable_time()
click to toggle source
# File lib/star_track/time_tracker/freckle.rb, line 34 def billable_time validate_given_time! args = ARGV[0].split(":") given_hours = args[0].to_i given_minutes = args[1].to_i (given_hours * 60) + given_minutes end
validate_given_time!()
click to toggle source
# File lib/star_track/time_tracker/freckle.rb, line 44 def validate_given_time! unless ARGV[0] ErrorHandler.raise("[ERROR] Missing time parameter!") end end