Class: Artisan::Reports::PercentageOfCommitmentsMetData

Inherits:
Object
  • Object
show all
Defined in:
lib/artisan/reports/percentage_of_commitments_met_data.rb

Instance Method Summary collapse

Constructor Details

#initialize(project) ⇒ PercentageOfCommitmentsMetData

Returns a new instance of PercentageOfCommitmentsMetData.



6
7
8
# File 'lib/artisan/reports/percentage_of_commitments_met_data.rb', line 6

def initialize(project)
  @project = project
end

Instance Method Details

#current_iteration?(iteration) ⇒ Boolean

Returns:

  • (Boolean)


27
28
29
# File 'lib/artisan/reports/percentage_of_commitments_met_data.rb', line 27

def current_iteration?(iteration)
  Iterations::Iterations.new(@project.id).current == iteration
end

#percentage_of_commitments_metObject



17
18
19
20
21
# File 'lib/artisan/reports/percentage_of_commitments_met_data.rb', line 17

def percentage_of_commitments_met
  unless percentages_of_commitments_met.compact.count == 0
    ((percentages_of_commitments_met.compact.inject(0, :+) / percentages_of_commitments_met.compact.count) * 100).round
  end
end

#percentage_of_commitments_not_metObject



23
24
25
# File 'lib/artisan/reports/percentage_of_commitments_met_data.rb', line 23

def percentage_of_commitments_not_met
  100 - percentage_of_commitments_met unless percentage_of_commitments_met.nil?
end

#percentages_of_commitments_metObject



10
11
12
13
14
15
# File 'lib/artisan/reports/percentage_of_commitments_met_data.rb', line 10

def percentages_of_commitments_met
  @project.iterations.reverse.inject([]) do |percentages_of_commitments_met, iteration|
      percentages_of_commitments_met << accumulate_percentage_of_commitments_met_for(iteration) unless current_iteration?(iteration)
      percentages_of_commitments_met
  end
end