Class: Terjira::Client::User

Inherits:
Base
  • Object
show all
Defined in:
lib/terjira/client/user.rb

Constant Summary

Constants inherited from Base

Base::AGILE_API_PATH, Base::DEFAULT_API_PATH, Base::DEFAULT_CACHE_SEC

Constants included from JQLQueryBuilder

JQLQueryBuilder::JQL_KEYS

Constants included from AuthOptionBuilder

AuthOptionBuilder::AUTH_CACHE_KEY

Class Method Summary collapse

Methods inherited from Base

cache, class_name, client, parse_body, resource, username

Methods included from JQLQueryBuilder

#build_jql_query

Methods included from AuthOptionBuilder

#auth_file_cache, #build_auth_options, #build_auth_options_by_cached, #build_auth_options_by_tty, #expire_auth_options

Class Method Details

.assignables_by_board(board) ⇒ Object



16
17
18
19
# File 'lib/terjira/client/user.rb', line 16

def assignables_by_board(board)
  projects = Client::Project.all_by_board(board)
  assignables_by_project(projects)
end

.assignables_by_issue(issue) ⇒ Object



30
31
32
# File 'lib/terjira/client/user.rb', line 30

def assignables_by_issue(issue)
  fetch_assignables "user/assignable/search", {issueKey: issue.key_value }
end

.assignables_by_project(project) ⇒ Object



7
8
9
10
11
12
13
14
# File 'lib/terjira/client/user.rb', line 7

def assignables_by_project(project)
  if project.is_a? Array
    keys = project.map(&:key_value).join(",")
    fetch_assignables "user/assignable/multiProjectSearch", {projectKeys: keys }
  else
    fetch_assignables "user/assignable/search", { project: project.key_value }
  end
end

.assignables_by_sprint(sprint) ⇒ Object



21
22
23
24
25
26
27
28
# File 'lib/terjira/client/user.rb', line 21

def assignables_by_sprint(sprint)
  board_id = if sprint.respond_to? :originBoardId
               sprint.originBoardId
             else
               Client::Sprint.find(sprint).originBoardId
             end
  assignables_by_board(board_id)
end