trollolo 0.0.4 → 0.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 5adc2629b2f526c70851abc5ba72765860d73e2f
4
- data.tar.gz: d31159f96937237011765b1df87036d90a94fede
3
+ metadata.gz: dc793ce4458762baaa87ab20d73a5027b393a59b
4
+ data.tar.gz: d146b5a8919127354689e1456d92a32abbe3f74f
5
5
  SHA512:
6
- metadata.gz: 7eb4de3cb4a144902d467e40471236ca54c8992228fc5b1b6531148887512609bb5e56f2b43abb646d4eca512008e9c6b7d3c228073c3f1bb2a94cd6a22532e9
7
- data.tar.gz: 7df063a8b64b2e8eea6118115d1e0ab8b7653783c972abcd046b0c25b1a6951ac39147b2d4e01f4e1c1dfc7724f5554347cc85570695b5026310a6f746b9ab6f
6
+ metadata.gz: aabfadb3c1ef41fced864fea53761768df318e99881e4c3b37a46e9e40e272f0b2b835494a7d69ce9e829941a1fa60088aaf825e29308844651c73d23772d595
7
+ data.tar.gz: 6d4972fee9466043300f52b0aa6585118f3d3feb5584ff530c2c34bd02756e8c3b40d02cc23f6761c114e44e8c24ad4a6c90b261df59447c044183136ae641e9
data/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # Trollolo Changelog
2
2
 
3
+ ## Version 0.0.5
4
+
5
+ * Allow done columns which have a name stating with `Done` and do not insist on
6
+ having a sprint number there. If multiple such columns are found, the first
7
+ one is taken for burndown calculations.
8
+
3
9
  ## Version 0.0.4
4
10
 
5
11
  * Allow to story points anywhere in the card name
data/lib/settings.rb CHANGED
@@ -31,7 +31,7 @@ class Settings
31
31
  @member_token = @config["member_token"]
32
32
  @not_done_columns = @config["not_done_columns"].freeze || ["Sprint Backlog", "Doing"]
33
33
  @todo_column = @config["todo_column"].freeze
34
- @done_column_name_regex = @config["done_column_name_regex"].freeze || /\ADone Sprint (\d+)\Z/
34
+ @done_column_name_regex = @config["done_column_name_regex"].freeze || /\ADone/
35
35
  @todo_column_name_regex = @config["todo_column_name_regex"].freeze || /\ATo Do\Z/
36
36
  else
37
37
  raise "Couldn't read config data from '#{config_file_path}'"
data/lib/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  module Trollolo
2
2
 
3
- VERSION = "0.0.4"
3
+ VERSION = "0.0.5"
4
4
 
5
5
  end
data/man/trollolo.1.md CHANGED
@@ -133,9 +133,11 @@ The burndown functionality expects the board to follow a certain naming scheme,
133
133
  so that Trollolo can process it as a Scrum board.
134
134
 
135
135
  It expects a list `Sprint Backlog` with open items, a list `Doing` with items in
136
- progress, and a list `Done Sprint X` with done items, where `X` is the number
137
- of the sprint. For burndown data calculation the list with the highest number
138
- is taken.
136
+ progress, and a list with a name starting with `Done`. If there are multiple
137
+ lists starting with `Done` the first one is taken.
138
+
139
+ Other names of columns with work in progress can be set in the YAML file in the
140
+ `meta` section as an array of column names under the key `not_done_columns`.
139
141
 
140
142
  On work item cards the tool takes a bracketed number as suffix as size of the
141
143
  item in story points. E.g. a card with the title `(3) Build magic tool` would
@@ -149,4 +151,4 @@ Board](https://trello.com/b/CRdddpdy/trollolo-testing-board).
149
151
 
150
152
  ## COPYRIGHT
151
153
 
152
- Trollolo is Copyright (C) 2013-2014 SUSE LLC
154
+ Trollolo is Copyright (C) 2013-2015 SUSE LLC
@@ -2,17 +2,85 @@ require_relative 'spec_helper'
2
2
 
3
3
  describe ScrumBoard do
4
4
  describe '#done_column' do
5
- before(:each) do
6
- @settings = dummy_settings
5
+ it 'raises error when done column cannot be found' do
6
+ settings = dummy_settings
7
7
 
8
8
  board_data = JSON.parse(load_test_file("full-board.json"))
9
- @scrum_board = ScrumBoard.new(board_data, @settings)
9
+ scrum_board = ScrumBoard.new(board_data, settings)
10
+
11
+ settings.done_column_name_regex = /thiscolumndoesntexist/
12
+
13
+ expect{scrum_board.done_column}.to raise_error ScrumBoard::DoneColumnNotFoundError
10
14
  end
11
15
 
12
- it 'raises error when done column cannot be found' do
13
- @settings.done_column_name_regex = /thiscolumndoesntexist/
16
+ it 'finds done column with name "Done Sprint %s"' do
17
+ scrum_board = ScrumBoard.new(nil, dummy_settings)
18
+
19
+ columns = []
20
+
21
+ column1 = double
22
+ allow(column1).to receive(:name).and_return("Sprint Backlog")
23
+ columns << column1
24
+
25
+ column2 = double
26
+ allow(column2).to receive(:name).and_return("Doing")
27
+ columns << column2
28
+
29
+ column3 = double
30
+ allow(column3).to receive(:name).and_return("Done Sprint 43")
31
+ columns << column3
32
+
33
+ allow(scrum_board).to receive(:columns).and_return(columns)
34
+
35
+ expect(scrum_board.done_column.name).to eq("Done Sprint 43")
36
+ end
37
+
38
+ it 'finds done column with name "Done Sprint %s" if there are multiple done columns' do
39
+ scrum_board = ScrumBoard.new(nil, dummy_settings)
40
+
41
+ columns = []
42
+
43
+ column1 = double
44
+ allow(column1).to receive(:name).and_return("Sprint Backlog")
45
+ columns << column1
46
+
47
+ column2 = double
48
+ allow(column2).to receive(:name).and_return("Doing")
49
+ columns << column2
50
+
51
+ column3 = double
52
+ allow(column3).to receive(:name).and_return("Done Sprint 44")
53
+ columns << column3
54
+
55
+ column4 = double
56
+ allow(column4).to receive(:name).and_return("Done Sprint 43")
57
+ columns << column4
58
+
59
+ allow(scrum_board).to receive(:columns).and_return(columns)
60
+
61
+ expect(scrum_board.done_column.name).to eq("Done Sprint 44")
62
+ end
63
+
64
+ it 'finds done column with name "Done (July 20th - August 3rd)"' do
65
+ scrum_board = ScrumBoard.new(nil, dummy_settings)
66
+
67
+ columns = []
68
+
69
+ column1 = double
70
+ allow(column1).to receive(:name).and_return("Sprint Backlog")
71
+ columns << column1
72
+
73
+ column2 = double
74
+ allow(column2).to receive(:name).and_return("Doing")
75
+ columns << column2
76
+
77
+ column3 = double
78
+ allow(column3).to receive(:name).and_return("Done (July 20th - August 3rd)")
79
+ columns << column3
80
+
81
+ allow(scrum_board).to receive(:columns).and_return(columns)
14
82
 
15
- expect{@scrum_board.done_column}.to raise_error ScrumBoard::DoneColumnNotFoundError
83
+ expect(scrum_board.done_column.name).to eq("Done (July 20th - August 3rd)")
16
84
  end
17
85
  end
18
86
  end
data/yes_ship_it.conf ADDED
@@ -0,0 +1,9 @@
1
+ # Experimental release automation. See https://github.com/cornelius/yes_ship_it.
2
+
3
+ assertions:
4
+ - version
5
+ - change_log
6
+ - built_gem
7
+ - published_gem
8
+ - tag
9
+ - pushed_tag
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: trollolo
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Cornelius Schumacher
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-07-03 00:00:00.000000000 Z
11
+ date: 2015-07-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thor
@@ -120,6 +120,9 @@ files:
120
120
  - spec/unit/support/webmocks.rb
121
121
  - spec/unit/trello_wrapper_spec.rb
122
122
  - trollolo.gemspec
123
+ - yes_ship_it.conf
124
+ - man/trollolo.1
125
+ - man/trollolo.1.html
123
126
  homepage: https://github.com/openSUSE/trollolo
124
127
  licenses:
125
128
  - GPL-3