class TodoistClient::Item
Constants
- VALID_PARAMS
Public Class Methods
complete_all(ids)
click to toggle source
# File lib/todoist_client/item.rb, line 122 def complete_all(ids) request *Paths::COMPLETE, {ids: json_ids(ids)} end
completed(project)
click to toggle source
# File lib/todoist_client/item.rb, line 95 def completed(project) project_id = project.is_a?(Project) ? project.id : project request(*Paths::COMPLETED, {project_id: project_id}).map {|item| self.new(item)} end
completed_items(project = nil)
click to toggle source
only premium user
# File lib/todoist_client/item.rb, line 101 def completed_items(project = nil) project_id = project.is_a?(Project) ? project.id : project request(*Paths::ALL_COMPLETED, {project_id: project_id})["items"].map {|item| CompletedItem.new(item) } end
create(params)
click to toggle source
# File lib/todoist_client/item.rb, line 114 def create(params) self.new(params).save end
delete_all(ids)
click to toggle source
# File lib/todoist_client/item.rb, line 118 def delete_all(ids) request *Paths::DELETE, {ids: json_ids(ids)} end
find(ids)
click to toggle source
# File lib/todoist_client/item.rb, line 108 def find(ids) items = request(*Paths::FIND, {ids: json_ids(ids)}).map {|item| self.new(item)} # return nil or Item object if item does not exist multiple. items.size > 1 ? items : items.first end
json_ids(ids)
click to toggle source
# File lib/todoist_client/item.rb, line 130 def json_ids(ids) ids = [ids] unless ids.is_a?(Array) JSON.generate(ids) end
new(params = nil)
click to toggle source
# File lib/todoist_client/item.rb, line 34 def initialize(params = nil) case when params.is_a?(String) @content = params when params.is_a?(Hash) set_params(params) end end
uncomplete_all(ids)
click to toggle source
# File lib/todoist_client/item.rb, line 126 def uncomplete_all(ids) request *Paths::UNCOMPLETE, {ids: json_ids(ids)} end
uncompleted(project)
click to toggle source
# File lib/todoist_client/item.rb, line 90 def uncompleted(project) project_id = project.is_a?(Project) ? project.id : project request(*Paths::UNCOMPLETED, {project_id: project_id}).map {|item| self.new(item)} end
Public Instance Methods
complete()
click to toggle source
# File lib/todoist_client/item.rb, line 73 def complete with_remote_object do self.class.request *Paths::COMPLETE, {ids: JSON.generate([id])} end end
delete()
click to toggle source
# File lib/todoist_client/item.rb, line 67 def delete with_remote_object do self.class.request *Paths::DELETE, {ids: JSON.generate([id])} end end
finished?()
click to toggle source
# File lib/todoist_client/item.rb, line 85 def finished? checked == 1 end
save()
click to toggle source
# File lib/todoist_client/item.rb, line 43 def save if id json = self.class.request *Paths::UPDATE, { id: @id, # required content: @content, priority: @priority, indent: @indent, item_order: @item_order, collapsed: @collapsed }.select {|k,v| !v.nil?} else json = self.class.request *Paths::ADD, { content: @content, # required project_id: @project_id, date_string: @date_string, priority: @priority, indent: @indent, item_order: @item_order }.select {|k,v| !v.nil?} end set_params(json) self end
uncomplete()
click to toggle source
# File lib/todoist_client/item.rb, line 79 def uncomplete with_remote_object do self.class.request *Paths::UNCOMPLETE, {ids: JSON.generate([id])} end end