Class: Jira::Auto::Tool::NextSprintCreator

Inherits:
Object
  • Object
show all
Defined in:
lib/jira/auto/tool/next_sprint_creator.rb

Constant Summary collapse

INDEX_FIRST_SPRINT_IN_QUARTER =
1

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(sprint) ⇒ NextSprintCreator

Returns a new instance of NextSprintCreator.



19
20
21
22
# File 'lib/jira/auto/tool/next_sprint_creator.rb', line 19

def initialize(sprint)
  log.debug { "Creating next sprint for #{sprint}" }
  @sprint = sprint
end

Instance Attribute Details

#sprintObject (readonly)

Returns the value of attribute sprint.



17
18
19
# File 'lib/jira/auto/tool/next_sprint_creator.rb', line 17

def sprint
  @sprint
end

Class Method Details

.create_sprint_following(sprint) ⇒ Object



13
14
15
# File 'lib/jira/auto/tool/next_sprint_creator.rb', line 13

def self.create_sprint_following(sprint)
  new(sprint).create
end

Instance Method Details

#createObject



28
29
30
31
32
33
34
# File 'lib/jira/auto/tool/next_sprint_creator.rb', line 28

def create
  RequestBuilder::SprintCreator.create_sprint(sprint.tool, sprint.origin_board_id, {
                                                name: next_sprint_name,
                                                start_date: next_sprint_start_date.utc.to_s,
                                                length_in_days: next_sprint_length_in_days
                                              })
end

#next_sprint_length_in_daysObject



24
25
26
# File 'lib/jira/auto/tool/next_sprint_creator.rb', line 24

def next_sprint_length_in_days
  sprint.length_in_days
end

#next_sprint_nameObject



38
39
40
41
42
43
44
45
46
47
48
# File 'lib/jira/auto/tool/next_sprint_creator.rb', line 38

def next_sprint_name
  index_in_quarter =
    if same_quarter?
      sprint.index_in_quarter + 1
    else
      INDEX_FIRST_SPRINT_IN_QUARTER
    end

  Sprint::Name.new(sprint.name_prefix, next_sprint_start_date.year, next_sprint_start_date.quarter,
                   index_in_quarter).to_s
end

#next_sprint_start_dateObject



54
55
56
# File 'lib/jira/auto/tool/next_sprint_creator.rb', line 54

def next_sprint_start_date
  sprint.end_date
end

#same_quarter?Boolean

Returns:

  • (Boolean)


50
51
52
# File 'lib/jira/auto/tool/next_sprint_creator.rb', line 50

def same_quarter?
  sprint.start_date.quarter == next_sprint_start_date.quarter
end