Class: Jura::Component::Sprint::Active

Inherits:
Object
  • Object
show all
Defined in:
lib/jura/component/sprint/active.rb

Class Method Summary collapse

Class Method Details

.render(board_id, sprint, config) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/jura/component/sprint/active.rb', line 7

def self.render(board_id, sprint, config)
  prompt = TTY::Prompt.new
  columns = config.dig('columnConfig', 'columns')
  column = prompt.select("Choose the column", filter: true, per_page: 5) do |menu|
    columns.each do |c|
      menu.choice c['name'], c
    end
  end

  issues = Spinner.render do
    Api::Sprint.show(board_id, sprint['id'])
  end

  selected_issues = issues.select do |i|
    status = i.dig('fields','status', 'name')

    column['name'].downcase == status.downcase
  end

  issue = prompt.select("Choose the issue", filter: true, per_page: 10) do |menu|
    selected_issues.each do |i|
      menu.choice Component::Issue.render_line(i), i
    end
  end

  Control::Sprint.instance.execute_command("display_submenu", issue)
  puts ""
end