Class: PredictabilityEngine::Calculators::CycleTime
- Inherits:
-
Object
- Object
- PredictabilityEngine::Calculators::CycleTime
- Defined in:
- lib/predictability_engine/calculators/cycle_time.rb
Class Method Summary collapse
- .completed_sorted(work_items) ⇒ Object
- .distribution(work_items) ⇒ Object
- .percentile(work_items, percentile_value) ⇒ Object
Class Method Details
.completed_sorted(work_items) ⇒ Object
21 22 23 |
# File 'lib/predictability_engine/calculators/cycle_time.rb', line 21 def self.completed_sorted(work_items) PredictabilityEngine.completed_items(work_items).sort_by(&:end_date) end |
.distribution(work_items) ⇒ Object
6 7 8 9 10 11 |
# File 'lib/predictability_engine/calculators/cycle_time.rb', line 6 def self.distribution(work_items) completed = work_items.select(&:completed?) return [] if completed.empty? completed.map(&:cycle_time).sort end |
.percentile(work_items, percentile_value) ⇒ Object
13 14 15 16 17 18 19 |
# File 'lib/predictability_engine/calculators/cycle_time.rb', line 13 def self.percentile(work_items, percentile_value) dist = distribution(work_items) return nil if dist.empty? index = (dist.size * percentile_value / 100.0).ceil - 1 dist[index] end |