class Jira::Command::Sprint

Attributes

active[RW]

Public Class Methods

new(active) click to toggle source
# File lib/jira/commands/sprint.rb, line 16
def initialize(active)
  self.active = active
end

Public Instance Methods

run() click to toggle source
# File lib/jira/commands/sprint.rb, line 21
def run
  return if rapid_view.empty?
  return if no_sprints?
  return if sprint.empty?
  if active == active
    sprint_id = info['sprint']['id']
    jql = "sprint = #{sprint_id}"
    Command::Tickets.new(jql).run
  else
    render_table(
      [ 'Sprint', 'State' ],
      [ [ info['sprint']['name'], info['sprint']['state'] ] ]
    )
  end
end

Private Instance Methods

active_sprint() click to toggle source
# File lib/jira/commands/sprint.rb, line 71
def active_sprint
  sprints = {}
  sprint_api.sprints(rapid_view['id'])['sprints'].each do |sprint|
    if sprint['state'] == "ACTIVE"
      sprints = {
        'id'   => sprint['id'],
        'name' => sprint['name'],
        'state' => sprint['state']
      }
    end
  end
  sprints
end
info() click to toggle source
# File lib/jira/commands/sprint.rb, line 47
def info
  @info ||= sprint_api.sprint(rapid_view['id'], sprint['id'])
end
no_sprints?() click to toggle source
# File lib/jira/commands/sprint.rb, line 39
def no_sprints?
  if sprints.empty?
    puts "The #{rapid_view['name']} board has no sprints."
    return true
  end
  false
end
rapid_view() click to toggle source
# File lib/jira/commands/sprint.rb, line 85
def rapid_view
  keys = rapid_views.keys
  return '' if keys.empty?
  # @rapid_view ||= rapid_views[
  #   io.select("Select a rapid view:", keys)
  # ]
  @rapid_view = {"id"=>15, "name"=>"Ruby Team"}
end
rapid_views() click to toggle source
# File lib/jira/commands/sprint.rb, line 94
def rapid_views
  @rapid_views ||= (
    rapid_views = {}
    sprint_api.rapid_views.each do |rapid_view|
      rapid_views[rapid_view['name']] = {
        'id'   => rapid_view['id'],
        'name' => rapid_view['name']
      }
    end
    rapid_views
  )
end
sprint() click to toggle source
# File lib/jira/commands/sprint.rb, line 51
def sprint
  @sprint ||= active_sprint || sprints[
    io.select("Select a sprint:", sprints.keys[-10..-1])
  ]
end
sprints() click to toggle source
# File lib/jira/commands/sprint.rb, line 57
def sprints
  @sprints ||= (
    sprints = {}
    sprint_api.sprints(rapid_view['id'])['sprints'].each do |sprint|
      sprints["#{sprint['name']}"] = {
        'id'   => sprint['id'],
        'name' => sprint['name'],
        'state' => sprint['state']
      }
    end
    sprints
  )
end