TrelloCycleTime 1.0.2 → 1.0.3
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 +8 -8
- data/lib/{CardRepository.rb → BoardCardRepository.rb} +5 -6
- data/lib/BoardCardRepositoryFactory.rb +14 -0
- data/lib/CompletedCard.rb +4 -0
- data/lib/CompletedCardFactory.rb +15 -2
- data/lib/CompletedCards.rb +34 -0
- data/lib/TrelloCycleTime.rb +5 -8
- data/lib/TrelloListRepository.rb +14 -0
- metadata +6 -4
- data/lib/CompletedCardRepository.rb +0 -26
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
MzUzNmViNzIxOGM1MTI5NTFiYTY0M2I2ZTkyNDE3ODViZTI1MWRjNA==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
ZjIwMzlmNWVkYmNmMjQ4OGI5ZjhmMDYzZGU3MDRkYjJiN2YzMmQ1Mw==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
ZTgxZWEwZDA1YTQ2M2Y1ZGY0YjJhYjQ5NWJlOTZkOTY4MGYzMDUxYTQ3NTg4
|
10
|
+
YzAxZmM3MWJiYmZkMzMzY2QzY2UwZGM5OWU1NWNmNmQyMzdjNTQyY2ViMDQ2
|
11
|
+
ZDVmNDllODhkNmYzMGZiZDBjNWQwYTFlODNjZDcyZTE1YTY5OGY=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
YjVjYmU1ZGM5OTViOTZlMWU5ZjE1ZTkyZTU0YTBjYzJhYzM5OTg1YzZkNTNm
|
14
|
+
MTg2NDA3Zjk1N2M2NzI2ZTUwMzE2NzFiNzM5NGM5OGJjOGJkMTFmNDZjYTkx
|
15
|
+
ZjQyZDk5MTc3ZmQzYTNiMWIwYjJjMTlhYzIwY2QwNGIwMmI3ZTE=
|
@@ -1,15 +1,14 @@
|
|
1
1
|
module AgileTrello
|
2
|
-
class
|
3
|
-
def initialize(
|
4
|
-
@trello_board =
|
5
|
-
@end_list = parameters[:end_list]
|
2
|
+
class BoardCardRepository
|
3
|
+
def initialize(trello_board)
|
4
|
+
@trello_board = trello_board
|
6
5
|
end
|
7
6
|
|
8
|
-
def get_cards_after
|
7
|
+
def get_cards_after(end_list)
|
9
8
|
cards_after = []
|
10
9
|
ignore = true
|
11
10
|
@trello_board.lists.each do | list |
|
12
|
-
ignore = !list.name.include?(
|
11
|
+
ignore = !list.name.include?(end_list) if ignore
|
13
12
|
if !ignore
|
14
13
|
list.cards.each do | card |
|
15
14
|
cards_after.push(card)
|
@@ -0,0 +1,14 @@
|
|
1
|
+
require_relative './BoardCardRepository'
|
2
|
+
|
3
|
+
module AgileTrello
|
4
|
+
class BoardCardRepositoryFactory
|
5
|
+
def initialize(trello)
|
6
|
+
@trello = trello
|
7
|
+
end
|
8
|
+
|
9
|
+
def create(board_id)
|
10
|
+
trello_board = @trello.get_board(board_id)
|
11
|
+
BoardCardRepository.new(trello_board)
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
data/lib/CompletedCard.rb
CHANGED
data/lib/CompletedCardFactory.rb
CHANGED
@@ -11,13 +11,26 @@ module AgileTrello
|
|
11
11
|
@start_list = parameters[:start_list]
|
12
12
|
@end_list = parameters[:end_list]
|
13
13
|
@all_lists = parameters[:all_lists]
|
14
|
+
@measurement_start_date =
|
15
|
+
parameters[:measurement_start_date].nil? ? Time.new(1066) : parameters[:measurement_start_date]
|
14
16
|
end
|
15
17
|
|
16
18
|
def create(trello_card)
|
17
19
|
card_history = CardHistory.new(trello_card, @all_lists)
|
18
|
-
start_date = card_history.find_date_entered_list(@start_list)
|
19
20
|
end_date = card_history.find_date_entered_list(@end_list)
|
20
|
-
|
21
|
+
is_in_measured_period = end_date > @measurement_start_date
|
22
|
+
|
23
|
+
if (is_in_measured_period)
|
24
|
+
start_date = card_history.find_date_entered_list(@start_list)
|
25
|
+
CompletedCard.new(start_date, end_date)
|
26
|
+
else
|
27
|
+
CardBeforeMeasurementPeriod.new
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
class CardBeforeMeasurementPeriod
|
33
|
+
def shareCycleTimeWith(calculator)
|
21
34
|
end
|
22
35
|
end
|
23
36
|
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
require 'peach'
|
2
|
+
require_relative './CompletedCardFactory'
|
3
|
+
require_relative './BoardCardRepositoryFactory'
|
4
|
+
|
5
|
+
module AgileTrello
|
6
|
+
class CompletedCards
|
7
|
+
def initialize(trello, average_cycle_time_calculator, trello_list_repository)
|
8
|
+
@board_card_repository_factory = BoardCardRepositoryFactory.new(trello)
|
9
|
+
@trello_list_repository = trello_list_repository
|
10
|
+
@average_cycle_time_calculator = average_cycle_time_calculator
|
11
|
+
end
|
12
|
+
|
13
|
+
def retrieve(parameters)
|
14
|
+
board_id = parameters[:board_id]
|
15
|
+
end_list = parameters[:end_list]
|
16
|
+
|
17
|
+
completed_card_for_board_factory = CompletedCardFactory.new(
|
18
|
+
start_list: parameters[:start_list],
|
19
|
+
end_list: end_list,
|
20
|
+
all_lists: @trello_list_repository.get(board_id),
|
21
|
+
average_cycle_time_calculator: parameters[:average_cycle_time_calculator],
|
22
|
+
measurement_start_date: parameters[:measurement_start_date]
|
23
|
+
)
|
24
|
+
@board_card_repository_factory
|
25
|
+
.create(board_id)
|
26
|
+
.get_cards_after(end_list)
|
27
|
+
.peach do |card|
|
28
|
+
completed_card_for_board_factory
|
29
|
+
.create(card)
|
30
|
+
.shareCycleTimeWith(@average_cycle_time_calculator)
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
data/lib/TrelloCycleTime.rb
CHANGED
@@ -1,24 +1,21 @@
|
|
1
|
-
require 'peach'
|
2
1
|
require_relative './TrelloFactory'
|
3
2
|
require_relative './TrelloCredentials'
|
4
3
|
require_relative './AverageCycleTimeCalculator'
|
5
|
-
require_relative './
|
4
|
+
require_relative './CompletedCards'
|
5
|
+
require_relative './TrelloListRepository'
|
6
6
|
|
7
7
|
module AgileTrello
|
8
8
|
class TrelloCycleTime
|
9
9
|
def initialize(parameters = {})
|
10
10
|
trello_credentials = TrelloCredentials.new(parameters[:public_key], parameters[:access_token])
|
11
11
|
trello_factory = parameters[:trello_factory].nil? ? TrelloFactory.new : parameters[:trello_factory]
|
12
|
-
|
12
|
+
trello = trello_factory.create(trello_credentials)
|
13
13
|
@average_cycle_time_calculator = AverageCycleTimeCalculator.new
|
14
|
+
@completed_cards = CompletedCards.new(trello, @average_cycle_time_calculator, TrelloListRepository.new(trello))
|
14
15
|
end
|
15
16
|
|
16
17
|
def get(parameters)
|
17
|
-
|
18
|
-
finished_cards = completed_card_repository.get
|
19
|
-
finished_cards.peach do | card |
|
20
|
-
@average_cycle_time_calculator.add(card.cycle_time)
|
21
|
-
end
|
18
|
+
@completed_cards.retrieve(parameters)
|
22
19
|
return @average_cycle_time_calculator.average
|
23
20
|
end
|
24
21
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: TrelloCycleTime
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- iainjmitchell
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-07-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: ruby-trello
|
@@ -45,14 +45,16 @@ extensions: []
|
|
45
45
|
extra_rdoc_files: []
|
46
46
|
files:
|
47
47
|
- lib/AverageCycleTimeCalculator.rb
|
48
|
+
- lib/BoardCardRepository.rb
|
49
|
+
- lib/BoardCardRepositoryFactory.rb
|
48
50
|
- lib/CardHistory.rb
|
49
|
-
- lib/CardRepository.rb
|
50
51
|
- lib/CompletedCard.rb
|
51
52
|
- lib/CompletedCardFactory.rb
|
52
|
-
- lib/
|
53
|
+
- lib/CompletedCards.rb
|
53
54
|
- lib/TrelloCredentials.rb
|
54
55
|
- lib/TrelloCycleTime.rb
|
55
56
|
- lib/TrelloFactory.rb
|
57
|
+
- lib/TrelloListRepository.rb
|
56
58
|
homepage: https://github.com/code-computerlove/trello-cycletime
|
57
59
|
licenses:
|
58
60
|
- MIT
|
@@ -1,26 +0,0 @@
|
|
1
|
-
require_relative './CompletedCardFactory'
|
2
|
-
require_relative './CardRepository'
|
3
|
-
|
4
|
-
module AgileTrello
|
5
|
-
class CompletedCardRepository
|
6
|
-
def initialize(trello, parameters)
|
7
|
-
trello_board = trello.get_board(parameters[:board_id])
|
8
|
-
all_lists_on_board = trello_board.lists.map do |list|
|
9
|
-
list.name
|
10
|
-
end
|
11
|
-
@card_repository = CardRepository.new(trello, parameters)
|
12
|
-
@completed_card_factory = CompletedCardFactory.new(
|
13
|
-
start_list: parameters[:start_list],
|
14
|
-
end_list: parameters[:end_list],
|
15
|
-
all_lists: all_lists_on_board
|
16
|
-
)
|
17
|
-
end
|
18
|
-
|
19
|
-
def get
|
20
|
-
completed_cards = @card_repository.get_cards_after
|
21
|
-
completed_cards.map do |card|
|
22
|
-
@completed_card_factory.create(card)
|
23
|
-
end
|
24
|
-
end
|
25
|
-
end
|
26
|
-
end
|