class FreeAgent::TimeslipsResource

Public Instance Methods

create(task:, user:, project:, dated_on:, hours:, **params) click to toggle source
# File lib/free_agent/resources/timeslips.rb, line 29
def create(task:, user:, project:, dated_on:, hours:,  **params)
  attributes = {task: task, user: user, project: project, dated_on: dated_on, hours: hours}

  response = post_request("timeslips", body: attributes.merge(params))
  Timeslip.new(response.body["timeslip"]) if response.success?
end
delete(id:) click to toggle source
# File lib/free_agent/resources/timeslips.rb, line 41
def delete(id:)
  response = delete_request("timeslips/#{id}")
  response.success?
end
list(**params) click to toggle source
# File lib/free_agent/resources/timeslips.rb, line 4
def list(**params)
  response = get_request("timeslips", params: params)
  Collection.from_response(response, type: Timeslip, key: "timeslips")
end
list_for_project(project:, **params) click to toggle source
# File lib/free_agent/resources/timeslips.rb, line 19
def list_for_project(project:, **params)
  response = get_request("timeslips?project=#{project}", params: params)
  Collection.from_response(response, type: Timeslip, key: "timeslips")
end
list_for_task(task:, **params) click to toggle source
# File lib/free_agent/resources/timeslips.rb, line 14
def list_for_task(task:, **params)
  response = get_request("timeslips?task=#{task}", params: params)
  Collection.from_response(response, type: Timeslip, key: "timeslips")
end
list_for_user(user:, **params) click to toggle source
# File lib/free_agent/resources/timeslips.rb, line 9
def list_for_user(user:, **params)
  response = get_request("timeslips?user=#{user}", params: params)
  Collection.from_response(response, type: Timeslip, key: "timeslips")
end
retrieve(id:) click to toggle source
# File lib/free_agent/resources/timeslips.rb, line 24
def retrieve(id:)
  response = get_request("timeslips/#{id}")
  Timeslip.new(response.body["timeslip"])
end
update(id:, **params) click to toggle source
# File lib/free_agent/resources/timeslips.rb, line 36
def update(id:, **params)
  response = put_request("timeslips/#{id}", body: params)
  Timeslip.new(response.body["timeslip"]) if response.success?
end