Sha256: ca2ab4c568f897ceba3760bb61d7a0459b4c9bcefcf5331357ddce3e865ce7e7
Contents?: true
Size: 1.36 KB
Versions: 2
Compression:
Stored size: 1.36 KB
Contents
class HCl class DayEntry < TimesheetResource include Utility # Get the time sheet entries for a given day. If no date is provided # defaults to today. def self.all date = nil url = date.nil? ? 'daily' : "daily/#{date.strftime '%j/%Y'}" from_xml get(url) end def to_s "#{client} #{project} #{task} (#{formatted_hours})" end def self.from_xml xml doc = REXML::Document.new xml Task.cache_tasks doc doc.root.elements.collect('//day_entry') do |day| new xml_to_hash(day) end end # Append a string to the notes for this task. def append_note new_notes # If I don't include hours it gets reset. # This doens't appear to be the case for task and project. DayEntry.post("daily/update/#{id}", <<-EOD) <request> <notes>#{notes << " #{new_notes}"}</notes> <hours>#{hours}</hours> </request> EOD end def self.with_timer all.detect {|t| t.running? } end def running? !@data[:timer_started_at].nil? && !@data[:timer_started_at].empty? end def initialize *args super # TODO cache client/project names and ids end def toggle DayEntry.get("daily/timer/#{id}") self end # Returns the hours formatted as "HH:MM" def formatted_hours as_hours hours end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
zenhob-hcl-0.2.0 | lib/hcl/day_entry.rb |
zenhob-hcl-0.2.1 | lib/hcl/day_entry.rb |