Class: AgileTrello::CompletedCardFactory

Inherits:
Object
  • Object
show all
Defined in:
lib/CompletedCardFactory.rb

Constant Summary collapse

MOVEMENT_ACTION_TYPE =
'updateCard'
MOVEMENT_DATA_ATTRIBUTE =
'listAfter'
MOVEMENT_DATA_LIST_NAME =
'name'

Instance Method Summary collapse

Constructor Details

#initialize(parameters) ⇒ CompletedCardFactory

Returns a new instance of CompletedCardFactory.



10
11
12
13
14
15
16
# File 'lib/CompletedCardFactory.rb', line 10

def initialize(parameters)
	@start_list = parameters[:start_list]
	@end_list = parameters[:end_list]
	@all_lists = parameters[:all_lists]
	@measurement_start_date = 
		parameters[:measurement_start_date].nil? ? Time.new(1066) : parameters[:measurement_start_date]
end

Instance Method Details

#create(trello_card) ⇒ Object



18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/CompletedCardFactory.rb', line 18

def create(trello_card)
	card_history = CardHistory.new(trello_card, @all_lists)
	end_date = card_history.find_date_entered_list(@end_list)
	is_in_measured_period = end_date > @measurement_start_date

	if (is_in_measured_period)
		start_date = card_history.find_date_entered_list(@start_list)
		CompletedCard.new(start_date, end_date)
	else
		CardBeforeMeasurementPeriod.new
	end
end