class AgileTrello::CompletedCardFactory

Constants

MOVEMENT_ACTION_TYPE
MOVEMENT_DATA_ATTRIBUTE
MOVEMENT_DATA_LIST_NAME

Public Class Methods

new(parameters) click to toggle source
# 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

Public Instance Methods

create(trello_card) click to toggle source
# 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