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 JQLBuilder

JQLBuilder::SEARCH_KEYS, JQLBuilder::STRICT_KEYS

Constants included from AuthOptionBuilder

AuthOptionBuilder::AUTH_CACHE_KEY

Class Method Summary collapse

Methods inherited from Base

cache, class_name, client, parse_body, resource, site_url, username

Methods included from JQLBuilder

#build_jql

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