Class: Basecamp::Services::TodosService
- Inherits:
-
BaseService
- Object
- BaseService
- Basecamp::Services::TodosService
- Defined in:
- lib/basecamp/generated/services/todos_service.rb
Overview
Service for Todos operations
Instance Method Summary collapse
-
#complete(todo_id:) ⇒ void
Mark a todo as complete.
-
#create(todolist_id:, content:, description: nil, assignee_ids: nil, completion_subscriber_ids: nil, notify: nil, due_on: nil, starts_on: nil) ⇒ Hash
Create a new todo in a todolist.
-
#get(todo_id:) ⇒ Hash
Get a single todo by id.
-
#list(todolist_id:, status: nil, completed: nil) ⇒ Enumerator<Hash>
List todos in a todolist.
-
#replace(todo_id:, content:, description: nil, assignee_ids: nil, completion_subscriber_ids: nil, notify: nil, due_on: nil, starts_on: nil) ⇒ Hash
Replace a todo with a new complete representation.
-
#reposition(todo_id:, position:, parent_id: nil) ⇒ void
Reposition a todo within its todolist.
-
#trash(todo_id:) ⇒ void
Trash a todo (returns 204 No Content).
-
#uncomplete(todo_id:) ⇒ void
Mark a todo as incomplete.
Constructor Details
This class inherits a constructor from Basecamp::Services::BaseService
Instance Method Details
#complete(todo_id:) ⇒ void
This method returns an undefined value.
Mark a todo as complete
76 77 78 79 80 81 |
# File 'lib/basecamp/generated/services/todos_service.rb', line 76 def complete(todo_id:) with_operation(service: "todos", operation: "complete", is_mutation: true, resource_id: todo_id) do http_post("/todos/#{todo_id}/completion.json") nil end end |
#create(todolist_id:, content:, description: nil, assignee_ids: nil, completion_subscriber_ids: nil, notify: nil, due_on: nil, starts_on: nil) ⇒ Hash
Create a new todo in a todolist
32 33 34 35 36 |
# File 'lib/basecamp/generated/services/todos_service.rb', line 32 def create(todolist_id:, content:, description: nil, assignee_ids: nil, completion_subscriber_ids: nil, notify: nil, due_on: nil, starts_on: nil) with_operation(service: "todos", operation: "create", is_mutation: true, resource_id: todolist_id) do http_post("/todolists/#{todolist_id}/todos.json", body: compact_params(content: content, description: description, assignee_ids: assignee_ids, completion_subscriber_ids: completion_subscriber_ids, notify: notify, due_on: due_on, starts_on: starts_on)).json end end |
#get(todo_id:) ⇒ Hash
Get a single todo by id
41 42 43 44 45 |
# File 'lib/basecamp/generated/services/todos_service.rb', line 41 def get(todo_id:) with_operation(service: "todos", operation: "get", is_mutation: false, resource_id: todo_id) do http_get("/todos/#{todo_id}").json end end |
#list(todolist_id:, status: nil, completed: nil) ⇒ Enumerator<Hash>
List todos in a todolist
15 16 17 18 19 20 |
# File 'lib/basecamp/generated/services/todos_service.rb', line 15 def list(todolist_id:, status: nil, completed: nil) wrap_paginated(service: "todos", operation: "list", is_mutation: false, resource_id: todolist_id) do params = compact_query_params(status: status, completed: completed) paginate("/todolists/#{todolist_id}/todos.json", params: params) end end |
#replace(todo_id:, content:, description: nil, assignee_ids: nil, completion_subscriber_ids: nil, notify: nil, due_on: nil, starts_on: nil) ⇒ Hash
Replace a todo with a new complete representation.
57 58 59 60 61 |
# File 'lib/basecamp/generated/services/todos_service.rb', line 57 def replace(todo_id:, content:, description: nil, assignee_ids: nil, completion_subscriber_ids: nil, notify: nil, due_on: nil, starts_on: nil) with_operation(service: "todos", operation: "replace", is_mutation: true, resource_id: todo_id) do http_put("/todos/#{todo_id}", body: compact_params(content: content, description: description, assignee_ids: assignee_ids, completion_subscriber_ids: completion_subscriber_ids, notify: notify, due_on: due_on, starts_on: starts_on)).json end end |
#reposition(todo_id:, position:, parent_id: nil) ⇒ void
This method returns an undefined value.
Reposition a todo within its todolist
98 99 100 101 102 103 |
# File 'lib/basecamp/generated/services/todos_service.rb', line 98 def reposition(todo_id:, position:, parent_id: nil) with_operation(service: "todos", operation: "reposition", is_mutation: true, resource_id: todo_id) do http_put("/todos/#{todo_id}/position.json", body: compact_params(position: position, parent_id: parent_id)) nil end end |
#trash(todo_id:) ⇒ void
This method returns an undefined value.
Trash a todo (returns 204 No Content)
66 67 68 69 70 71 |
# File 'lib/basecamp/generated/services/todos_service.rb', line 66 def trash(todo_id:) with_operation(service: "todos", operation: "trash", is_mutation: true, resource_id: todo_id) do http_delete("/todos/#{todo_id}") nil end end |
#uncomplete(todo_id:) ⇒ void
This method returns an undefined value.
Mark a todo as incomplete
86 87 88 89 90 91 |
# File 'lib/basecamp/generated/services/todos_service.rb', line 86 def uncomplete(todo_id:) with_operation(service: "todos", operation: "uncomplete", is_mutation: true, resource_id: todo_id) do http_delete("/todos/#{todo_id}/completion.json") nil end end |