Sha256: ae78402935b595b2c2c4da9f6b1bf92c947b75b9c5b6d9d2674089a27ef815db
Contents?: true
Size: 1.91 KB
Versions: 3
Compression:
Stored size: 1.91 KB
Contents
module Scrum class SprintCleaner < TrelloService include ScrumBoards def cleanup(board_id, target_board_id) @board = sprint_board(board_id) fail "backlog list '#{@board.backlog_list_name}' not found on sprint board" unless @board.backlog_list @target_board = Trello::Board.find(target_board_id) fail "ready list '#{@settings.scrum.list_names["planning_ready"]}' not found on planning board" unless target_list gen_burndown move_cards(@board.backlog_list) move_cards(@board.doing_list) if @board.doing_list move_cards(@board.qa_list) if @board.qa_list end private def target_list @target_list ||= @target_board.lists.find { |l| l.name == @settings.scrum.list_names["planning_ready"] } end def waterline_label(card) @board.find_waterline_label(card.labels) end def remove_waterline_label(card) label = waterline_label(card) card.remove_label(label) if label end def unplanned_label(card) @board.find_unplanned_label(card.labels) end def remove_unplanned_label(card) label = unplanned_label(card) card.remove_label(label) if label end def move_cards(source_list) source_list.cards.each do |card| next if @board.sticky?(card) puts %(moving card "#{card.name}" to list "#{target_list.name}") card.members.each { |member| card.remove_member(member) } remove_waterline_label(card) remove_unplanned_label(card) card.move_to_board(@target_board, target_list) end end def gen_burndown chart = BurndownChart.new(@settings) begin chart.update({}) puts 'New burndown data was generated automatically.' rescue TrolloloError => e if e.message =~ /(burndown-data-)\d*.yaml' (not found)/ puts e.message + '. Skipping automatic burndown generation.' end end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
trollolo-0.1.1 | lib/scrum/sprint_cleaner.rb |
trollolo-0.1.0 | lib/scrum/sprint_cleaner.rb |
trollolo-0.0.14 | lib/scrum/sprint_cleaner.rb |