Class: Harvest::API::TaskAssignments
- Inherits:
-
Base
- Object
- Base
- Harvest::API::TaskAssignments
show all
- Defined in:
- lib/harvest/api/task_assignments.rb
Instance Attribute Summary
Attributes inherited from Base
#credentials
Instance Method Summary
collapse
Methods inherited from Base
api_model, #initialize
Instance Method Details
#all(project, query = {}) ⇒ Object
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
# File 'lib/harvest/api/task_assignments.rb', line 6
def all(project, query = {})
api_path = "/projects/#{project.id}/task_assignments"
response = request(:get, credentials, api_path, query: query)
response_parsed = api_model.to_json(response.parsed_response)
if response_parsed['total_pages'].to_i > 1
counter = response_parsed['page'].to_i
while counter <= response_parsed['total_pages'].to_i do
counter += 1
query = { 'page' => counter }
response_page = request(:get, credentials, api_path, query: query)
project_task_assignments = api_model.to_json(response.parsed_response)
response_parsed['task_assignments']
.concat(project_task_assignments['task_assignments'])
end
end
api_model.parse(response_parsed)
end
|
#create(project, task_assignment) ⇒ Object
33
34
35
36
37
38
|
# File 'lib/harvest/api/task_assignments.rb', line 33
def create(project, task_assignment)
task_assignment = api_model.wrap(task_assignment)
api_path = "/projects/#{project.id}/task_assignments"
response = request(:post, credentials, api_path, body: task_assignment.to_json)
find(task_assignment.project_id, task_assignment.id)
end
|
#delete(task_assignment) ⇒ Object
47
48
49
50
51
|
# File 'lib/harvest/api/task_assignments.rb', line 47
def delete(task_assignment)
api_path = "/projects/#{project.id}/task_assignments/#{task_assignment.id}"
response = request(:delete, credentials, api_path)
task_assignment.id
end
|
#find(project, task_assignment) ⇒ Object
27
28
29
30
31
|
# File 'lib/harvest/api/task_assignments.rb', line 27
def find(project, task_assignment)
api_path = "/projects/#{project.id}/task_assignments/#{task_assignment.id}"
response = request(:get, credentials, api_path)
api_model.parse(response.parsed_response)
end
|
#me(query = {}) ⇒ Object
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
|
# File 'lib/harvest/api/task_assignments.rb', line 53
def me(query = {})
api_path = "/task_assignments"
response = request(:get, credentials, api_path, query: query)
response_parsed = api_model.to_json(response.parsed_response)
if response_parsed['total_pages'].to_i > 1
counter = response_parsed['page'].to_i
while counter <= response_parsed['total_pages'].to_i do
counter += 1
query = { 'page' => counter }
response_page = request(:get, credentials, api_path, query: query)
task_assignments = api_model.to_json(response.parsed_response)
response_parsed['task_assignments']
.concat(task_assignments['task_assignments'])
end
end
api_model.parse(response_parsed)
end
|
#update(project, task_assignment) ⇒ Object
40
41
42
43
44
45
|
# File 'lib/harvest/api/task_assignments.rb', line 40
def update(project, task_assignment)
task_assignment = api_model.wrap(task_assignment)
api_path = "/projects/#{project.id}/task_assignments/#{task_assignment.id}"
request(:put, credentials, api_path, body: task_assignment.to_json)
find(task_assignment.project_id, task_assignment.id)
end
|