class Harvest::API::Time

Public Instance Methods

all(date = ::Time.now, user = nil) click to toggle source
# File lib/harvest/api/time.rb, line 10
def all(date = ::Time.now, user = nil)
  Harvest::TimeEntry.parse(daily(date, user)["day_entries"])
end
create(entry, user = nil) click to toggle source
# File lib/harvest/api/time.rb, line 23
def create(entry, user = nil)
  response = request(:post, credentials, '/daily/add', :body => entry.to_json, :query => of_user_query(user))
  Harvest::TimeEntry.parse(response.parsed_response).first
end
delete(entry, user = nil) click to toggle source
# File lib/harvest/api/time.rb, line 33
def delete(entry, user = nil)
  request(:delete, credentials, "/daily/delete/#{entry.to_i}", :query => of_user_query(user))
  entry.id
end
find(id, user = nil) click to toggle source
# File lib/harvest/api/time.rb, line 5
def find(id, user = nil)
  response = request(:get, credentials, "/daily/show/#{id.to_i}", :query => of_user_query(user))
  Harvest::TimeEntry.parse(response.parsed_response).first
end
toggle(id, user = nil) click to toggle source
# File lib/harvest/api/time.rb, line 18
def toggle(id, user = nil)
  response = request(:get, credentials, "/daily/timer/#{id}", :query => of_user_query(user))
  Harvest::TimeEntry.parse(response.parsed_response).first
end
trackable_projects(date = ::Time.now, user = nil) click to toggle source
# File lib/harvest/api/time.rb, line 14
def trackable_projects(date = ::Time.now, user = nil)
  Harvest::TrackableProject.parse(daily(date, user)["projects"])
end
update(entry, user = nil) click to toggle source
# File lib/harvest/api/time.rb, line 28
def update(entry, user = nil)
  request(:put, credentials, "/daily/update/#{entry.to_i}", :body => entry.to_json, :query => of_user_query(user))
  find(entry.id, user)
end

Private Instance Methods

daily(date, user) click to toggle source
# File lib/harvest/api/time.rb, line 41
def daily(date, user)
  date = ::Time.parse(date) if String === date
  response = request(:get, credentials, "/daily/#{date.yday}/#{date.year}", :query => of_user_query(user))
  JSON.parse(response.body)
end