class Podio::Task

@see developers.podio.com/doc/tasks

Public Class Methods

complete(id) click to toggle source

@see developers.podio.com/doc/tasks/complete-task-22432

# File lib/podio/models/task.rb, line 185
def complete(id)
  Podio.connection.post("/task/#{id}/complete").body
end
count_by_ref(ref_type, ref_id) click to toggle source

@see developers.podio.com/doc/tasks/get-task-count-38316458

# File lib/podio/models/task.rb, line 261
def count_by_ref(ref_type, ref_id)
  Podio.connection.get("/task/#{ref_type}/#{ref_id}/count").body['count']
end
create(attributes, options = {}) click to toggle source

@see developers.podio.com/doc/tasks/create-task-22419

# File lib/podio/models/task.rb, line 106
def create(attributes, options = {})
  response = Podio.connection.post do |req|
    req.url("/task/", options)
    req.body = attributes
  end

  list [response.body].flatten
end
create_with_ref(ref_type, ref_id, attributes, options = {}) click to toggle source

@see developers.podio.com/doc/tasks/create-task-with-reference-22420

# File lib/podio/models/task.rb, line 116
def create_with_ref(ref_type, ref_id, attributes, options = {})
  response = Podio.connection.post do |req|
    req.url("/task/#{ref_type}/#{ref_id}/", options)
    req.body = attributes
  end

  list [response.body].flatten
end
delete(id) click to toggle source

@see developers.podio.com/doc/tasks/delete-task-77179

# File lib/podio/models/task.rb, line 180
def delete(id)
  Podio.connection.delete("/task/#{id}").status
end
delete_reference(task_id) click to toggle source

@see developers.podio.com/doc/tasks/remove-task-reference-6146114

# File lib/podio/models/task.rb, line 170
def delete_reference(task_id)
  Podio.connection.delete("/task/#{task_id}/ref").status
end
find(id, options = {}) click to toggle source

@see developers.podio.com/doc/tasks/get-task-22413

# File lib/podio/models/task.rb, line 200
def find(id, options = {})
  member Podio.connection.get("/task/#{id}", options).body
end
find_all(options={}) click to toggle source

@see developers.podio.com/doc/tasks/get-tasks-77949

# File lib/podio/models/task.rb, line 210
def find_all(options={})
  list Podio.connection.get { |req|
    req.url('/task/', options)
  }.body
end
find_for_reference(ref_type, ref_id) click to toggle source

@see developers.podio.com/doc/tasks/get-tasks-with-reference-22426

# File lib/podio/models/task.rb, line 205
def find_for_reference(ref_type, ref_id)
  list Podio.connection.get("/task/#{ref_type}/#{ref_id}/").body
end
find_personal_summary(options={}) click to toggle source

@see developers.podio.com/doc/tasks/get-task-summary-for-personal-1657217

# File lib/podio/models/task.rb, line 250
def find_personal_summary(options={})
  response = Podio.connection.get { |req|
    req.url("/task/personal/summary", options)
  }.body
  response['overdue']['tasks'] = list(response['overdue']['tasks'])
  response['today']['tasks'] = list(response['today']['tasks'])
  response['other']['tasks'] = list(response['other']['tasks'])
  response
end
find_summary(options={}) click to toggle source

@see developers.podio.com/doc/tasks/get-task-summary-1612017

# File lib/podio/models/task.rb, line 217
def find_summary(options={})
  response = Podio.connection.get { |req|
    req.url("/task/summary", options)
  }.body
  response['overdue']['tasks'] = list(response['overdue']['tasks'])
  response['today']['tasks'] = list(response['today']['tasks'])
  response['other']['tasks'] = list(response['other']['tasks'])
  response
end
find_summary_for_org(org_id, options={}) click to toggle source

@see developers.podio.com/doc/tasks/get-task-summary-for-organization-1612063

# File lib/podio/models/task.rb, line 228
def find_summary_for_org(org_id, options={})
  response = Podio.connection.get { |req|
    req.url("/task/org/#{org_id}/summary", options)
  }.body
  response['overdue']['tasks'] = list(response['overdue']['tasks'])
  response['today']['tasks'] = list(response['today']['tasks'])
  response['other']['tasks'] = list(response['other']['tasks'])
  response
end
find_summary_for_reference(ref_type, ref_id, options={}) click to toggle source

@see developers.podio.com/doc/tasks/get-task-summary-for-reference-1657980

# File lib/podio/models/task.rb, line 239
def find_summary_for_reference(ref_type, ref_id, options={})
  response = Podio.connection.get { |req|
    req.url("/task/#{ref_type}/#{ref_id}/summary", options)
  }.body
  response['overdue']['tasks'] = list(response['overdue']['tasks'])
  response['today']['tasks'] = list(response['today']['tasks'])
  response['other']['tasks'] = list(response['other']['tasks'])
  response
end
incomplete(id) click to toggle source

@see developers.podio.com/doc/tasks/incomplete-task-22433

# File lib/podio/models/task.rb, line 190
def incomplete(id)
  Podio.connection.post("/task/#{id}/incomplete").body
end
rank(id, before_task_id, after_task_id) click to toggle source

@see developers.podio.com/doc/tasks/rank-task-81015

# File lib/podio/models/task.rb, line 195
def rank(id, before_task_id, after_task_id)
  Podio.connection.post("/task/#{id}/rank", {:before => before_task_id, :after => after_task_id}).body
end
update(id, attributes, options = {}) click to toggle source

@see developers.podio.com/doc/tasks/update-task-10583674

# File lib/podio/models/task.rb, line 126
def update(id, attributes, options = {})
  response = Podio.connection.put do |req|
    req.url("/task/#{id}", options)
    req.body = attributes
  end

  member response.body
end
update_assignee(id, user_id) click to toggle source

@see developers.podio.com/doc/tasks/assign-task-22412

# File lib/podio/models/task.rb, line 160
def update_assignee(id, user_id)
  Podio.connection.post("/task/#{id}/assign", {:responsible => user_id}).status
end
update_description(id, description) click to toggle source

@see developers.podio.com/doc/tasks/update-task-description-76982

# File lib/podio/models/task.rb, line 136
def update_description(id, description)
  Podio.connection.put("/task/#{id}/description", {:description => description}).status
end
update_due_date(id, due_date) click to toggle source
# File lib/podio/models/task.rb, line 150
def update_due_date(id, due_date)
  Podio.connection.put("/task/#{id}/due_date", {:due_date => due_date}).status
end
update_due_on(id, options) click to toggle source

@see developers.podio.com/doc/tasks/update-task-due-on-3442633

# File lib/podio/models/task.rb, line 155
def update_due_on(id, options)
  Podio.connection.put("/task/#{id}/due_on", options).status
end
update_labels(id, label_ids) click to toggle source

@see developers.podio.com/doc/tasks/update-task-labels-151769

# File lib/podio/models/task.rb, line 175
def update_labels(id, label_ids)
  Podio.connection.put("/task/#{id}/label/", label_ids).status
end
update_private(id, private_flag) click to toggle source

@see developers.podio.com/doc/tasks/update-task-private-22434

# File lib/podio/models/task.rb, line 146
def update_private(id, private_flag)
  Podio.connection.put("/task/#{id}/private", {:private => private_flag}).status
end
update_reference(id, ref_type, ref_id) click to toggle source

@see developers.podio.com/doc/tasks/update-task-reference-170733

# File lib/podio/models/task.rb, line 165
def update_reference(id, ref_type, ref_id)
  Podio.connection.put("/task/#{id}/ref", {:ref_type => ref_type, :ref_id => ref_id}).status
end
update_text(id, text) click to toggle source

@see developers.podio.com/doc/tasks/update-task-text-22428

# File lib/podio/models/task.rb, line 141
def update_text(id, text)
  Podio.connection.put("/task/#{id}/text", {:text => text}).status
end

Public Instance Methods

complete() click to toggle source

@see developers.podio.com/doc/tasks/complete-task-22432

# File lib/podio/models/task.rb, line 90
def complete
  self.class.complete(self.id)
end
create() click to toggle source

@see developers.podio.com/doc/tasks/create-task-22419

# File lib/podio/models/task.rb, line 54
def create
  result = self.create_multiple # Could return false if API call failed
  self.task_id = result.first.id if result
  result
end
create_multiple() click to toggle source
# File lib/podio/models/task.rb, line 60
def create_multiple
  compacted_attributes = remove_nil_values(self.attributes)
  if(self.ref_type.present? && self.ref_id.present?)
    self.class.create_with_ref(self.ref_type, self.ref_id, compacted_attributes)
  else
    self.class.create(compacted_attributes)
  end
end
delete_reference() click to toggle source

@see developers.podio.com/doc/tasks/remove-task-reference-6146114

# File lib/podio/models/task.rb, line 80
def delete_reference
  self.class.delete_reference(self.id)
end
destroy() click to toggle source

@see developers.podio.com/doc/tasks/delete-task-77179

# File lib/podio/models/task.rb, line 70
def destroy
  self.class.delete(self.id)
end
rank(previous_task, next_task) click to toggle source

@see developers.podio.com/doc/tasks/rank-task-81015

# File lib/podio/models/task.rb, line 100
def rank(previous_task, next_task)
  self.class.rank(self.id, previous_task && previous_task.to_i, next_task && next_task.to_i)
end
uncomplete() click to toggle source

@see developers.podio.com/doc/tasks/incomplete-task-22433

# File lib/podio/models/task.rb, line 95
def uncomplete
  self.class.incomplete(self.id)
end
update_labels(label_ids) click to toggle source

@see developers.podio.com/doc/tasks/update-task-labels-151769

# File lib/podio/models/task.rb, line 85
def update_labels(label_ids)
  self.class.update_labels(self.id, label_ids)
end
update_reference(ref_type, ref_id) click to toggle source

@see developers.podio.com/doc/tasks/update-task-reference-170733

# File lib/podio/models/task.rb, line 75
def update_reference(ref_type, ref_id)
  self.class.update_reference(self.id, ref_type, ref_id)
end