class FreeAgent::ProjectsResource

Public Instance Methods

create(contact:, name:, status:, currency:, budget_units:, **params) click to toggle source
# File lib/free_agent/resources/projects.rb, line 19
def create(contact:, name:, status:, currency:, budget_units:, **params)
  attributes = {contact: contact, name: name, status: status, currency: currency, budget_units: budget_units}

  response = post_request("projects", body: attributes.merge(params))
  Project.new(response.body["project"]) if response.success?
end
delete(id:) click to toggle source
# File lib/free_agent/resources/projects.rb, line 31
def delete(id:)
  response = delete_request("projects/#{id}")
  response.success?
end
list(**params) click to toggle source
# File lib/free_agent/resources/projects.rb, line 4
def list(**params)
  response = get_request("projects", params: params)
  Collection.from_response(response, type: Project, key: "projects")
end
list_for_contact(contact:, **params) click to toggle source
# File lib/free_agent/resources/projects.rb, line 9
def list_for_contact(contact:, **params)
  response = get_request("projects?contact=#{contact}", params: params)
  Collection.from_response(response, type: Project, key: "projects")
end
retrieve(id:) click to toggle source
# File lib/free_agent/resources/projects.rb, line 14
def retrieve(id:)
  response = get_request("projects/#{id}")
  Project.new(response.body["project"])
end
update(id:, **params) click to toggle source
# File lib/free_agent/resources/projects.rb, line 26
def update(id:, **params)
  response = put_request("projects/#{id}", body: params)
  Project.new(response.body["project"]) if response.success?
end