class Harvest::API::UserAssignments
Public Instance Methods
all(project, query = {})
click to toggle source
# File lib/harvest/api/user_assignments.rb, line 6 def all(project, query = {}) api_path = "/projects/#{project.id}/user_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_user_assignments = api_model.to_json(response.parsed_response) response_parsed['user_assignments'] .concat(project_user_assignments['user_assignments']) end end api_model.parse(response_parsed) end
create(project, user_assignment)
click to toggle source
# File lib/harvest/api/user_assignments.rb, line 33 def create(project, user_assignment) user_assignment = api_model.wrap(user_assignment) api_path = "/projects/#{project.id}/user_assignments" response = request(:post, credentials, api_path, body: user_assignment.to_json) find(user_assignment.project_id, user_assignment.id) end
delete(user_assignment)
click to toggle source
# File lib/harvest/api/user_assignments.rb, line 47 def delete(user_assignment) api_path = "/projects/#{project.id}/user_assignments/#{user_assignment.id}" response = request(:delete, credentials, api_path) user_assignment.id end
find(project, user_assignment)
click to toggle source
# File lib/harvest/api/user_assignments.rb, line 27 def find(project, user_assignment) api_path = "/projects/#{project.id}/user_assignments/#{user_assignment.id}" response = request(:get, credentials, api_path) api_model.parse(response.parsed_response) end
me(query = {})
click to toggle source
# File lib/harvest/api/user_assignments.rb, line 53 def me(query = {}) api_path = "/user_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) user_assignments = api_model.to_json(response.parsed_response) response_parsed['user_assignments'] .concat(user_assignments['user_assignments']) end end api_model.parse(response_parsed) end
update(project, user_assignment)
click to toggle source
# File lib/harvest/api/user_assignments.rb, line 40 def update(project, user_assignment) user_assignment = api_model.wrap(user_assignment) api_path = "/projects/#{project.id}/user_assignments/#{user_assignment.id}" request(:put, credentials, api_path, body: user_assignment.to_json) find(user_assignment.project_id, user_assignment.id) end