Class: Versafleet::TasksResource

Inherits:
Resource
  • Object
show all
Defined in:
lib/versafleet/resources/tasks.rb

Instance Attribute Summary

Attributes inherited from Resource

#client

Instance Method Summary collapse

Methods inherited from Resource

#initialize

Constructor Details

This class inherits a constructor from Versafleet::Resource

Instance Method Details

#allocate(task_id:, sub_account_id:) ⇒ Object



84
85
86
87
# File 'lib/versafleet/resources/tasks.rb', line 84

def allocate(task_id:, sub_account_id:)
  payload = {task: {allocatee_id: }}
  Task.new put_request("tasks/#{task_id}/allocate", body: payload).body.dig("task")
end

#archive(task_id:) ⇒ Object



68
69
70
# File 'lib/versafleet/resources/tasks.rb', line 68

def archive(task_id:)
  Task.new put_request("tasks/#{task_id}/archive", body: {}).body.dig("task")
end

#assign(task_id:, task:) ⇒ Object



32
33
34
35
# File 'lib/versafleet/resources/tasks.rb', line 32

def assign(task_id:, task:)
  payload = {task: task}
  Task.new put_request("tasks/#{task_id}/assign", body: payload).body.dig("task")
end

#assign_multiple(task:) ⇒ Object



37
38
39
40
# File 'lib/versafleet/resources/tasks.rb', line 37

def assign_multiple(task:)
  payload = {task: task}
  put_request("tasks/assign", body: payload).body
end

#base_completion_histories(task_id:) ⇒ Object



80
81
82
# File 'lib/versafleet/resources/tasks.rb', line 80

def base_completion_histories(task_id:)
  Task.new get_request("tasks/#{task_id}/base_task_completion_histories").body
end

#cancel(task_id:) ⇒ Object



51
52
53
# File 'lib/versafleet/resources/tasks.rb', line 51

def cancel(task_id:)
  put_request("tasks/#{task_id}/cancel", body: {}).body
end

#complete(task_id:) ⇒ Object



55
56
57
# File 'lib/versafleet/resources/tasks.rb', line 55

def complete(task_id:)
  put_request("tasks/#{task_id}/set_successful", body: {}).body
end

#completion_histories(task_id:) ⇒ Object



76
77
78
# File 'lib/versafleet/resources/tasks.rb', line 76

def completion_histories(task_id:)
  Task.new get_request("tasks/#{task_id}/task_completion_histories").body
end

#create(task_attributes:) ⇒ Object

TODO: Add support for allocate_id



27
28
29
30
# File 'lib/versafleet/resources/tasks.rb', line 27

def create(task_attributes:)
  payload = {task_attributes: task_attributes}
  Task.new post_request("tasks", body: payload).body.dig("task")
end

#incomplete(task_id:) ⇒ Object



59
60
61
# File 'lib/versafleet/resources/tasks.rb', line 59

def incomplete(task_id:)
  put_request("tasks/#{task_id}/set_failed", body: {}).body
end

#list(**params) ⇒ Object



3
4
5
6
# File 'lib/versafleet/resources/tasks.rb', line 3

def list(**params)
  response = get_request("tasks", params: params)
  Collection.from_response(response, key: "tasks", type: Task)
end

#list_by_state(**params) ⇒ Object



8
9
10
11
# File 'lib/versafleet/resources/tasks.rb', line 8

def list_by_state(**params)
  response = get_request("tasks/by_state", params: params)
  Collection.from_response(response, key: "tasks", type: Task)
end

#retrieve(task_id:) ⇒ Object



13
14
15
# File 'lib/versafleet/resources/tasks.rb', line 13

def retrieve(task_id:)
  Task.new get_request("tasks/#{task_id}").body.dig("task")
end

#retrieve_by_tracking_id(tracking_id:) ⇒ Object



17
18
19
# File 'lib/versafleet/resources/tasks.rb', line 17

def retrieve_by_tracking_id(tracking_id:)
  Task.new post_request("tasks/#{tracking_id}/track", body: {}).body.dig("task")
end

#set_state(task_id:, to_state:) ⇒ Object



63
64
65
66
# File 'lib/versafleet/resources/tasks.rb', line 63

def set_state(task_id:, to_state:)
  payload = {to_state: to_state}
  put_request("tasks/#{task_id}/state", body: payload).body
end

#unarchive(task_id:) ⇒ Object



72
73
74
# File 'lib/versafleet/resources/tasks.rb', line 72

def unarchive(task_id:)
  Task.new put_request("tasks/#{task_id}/unarchive", body: {}).body.dig("task")
end

#unassign(task_id:) ⇒ Object



42
43
44
# File 'lib/versafleet/resources/tasks.rb', line 42

def unassign(task_id:)
  Task.new put_request("tasks/#{task_id}/unassign", body: {}).body.dig("task")
end

#unassign_multiple(task:) ⇒ Object



46
47
48
49
# File 'lib/versafleet/resources/tasks.rb', line 46

def unassign_multiple(task:)
  payload = {task: task}
  put_request("tasks/unassign", body: payload).body
end

#update(task_id:, task_attributes:) ⇒ Object



21
22
23
24
# File 'lib/versafleet/resources/tasks.rb', line 21

def update(task_id:, task_attributes:)
  payload = {task_attributes: task_attributes}
  Task.new put_request("tasks/#{task_id}", body: payload).body.dig("task")
end