Module: PredictabilityEngine::SummaryVisualizer::Helpers
- Defined in:
- lib/predictability_engine/summary_visualizer/helpers.rb
Class Method Summary collapse
- .html_metric_li(label, value) ⇒ Object
- .metric_lines(work_items, metrics, prefix: '', bold: '') ⇒ Object
- .metric_list(work_items, metrics) ⇒ Object
- .percentile_lines(metrics, percentiles, prefix: '', bold: '', suffix: '') ⇒ Object
- .shared_metrics(work_items, metrics) ⇒ Object
- .terminal_colors(color) ⇒ Object
Class Method Details
.html_metric_li(label, value) ⇒ Object
10 11 12 |
# File 'lib/predictability_engine/summary_visualizer/helpers.rb', line 10 def self.html_metric_li(label, value) "<li><strong>#{label}:</strong> <span class='metric-value'>#{value}</span></li>" end |
.metric_lines(work_items, metrics, prefix: '', bold: '') ⇒ Object
6 7 8 |
# File 'lib/predictability_engine/summary_visualizer/helpers.rb', line 6 def self.metric_lines(work_items, metrics, prefix: '', bold: '') shared_metrics(work_items, metrics).map { |k, v| "#{prefix}#{bold}#{k}:#{bold} #{v}" }.join("\n") end |
.metric_list(work_items, metrics) ⇒ Object
14 15 16 17 18 19 20 21 22 23 |
# File 'lib/predictability_engine/summary_visualizer/helpers.rb', line 14 def self.metric_list(work_items, metrics) shared_metrics(work_items, metrics).map do |k, v| if v.to_s.include?("\n") items = v.to_s.strip.split("\n").map { |e| "<li>#{e.strip}</li>" }.join "<li class='breakdown'><strong>#{k}:</strong><ul>#{items}</ul></li>" else html_metric_li(k, v) end end.join("\n") end |
.percentile_lines(metrics, percentiles, prefix: '', bold: '', suffix: '') ⇒ Object
25 26 27 28 29 |
# File 'lib/predictability_engine/summary_visualizer/helpers.rb', line 25 def self.percentile_lines(metrics, percentiles, prefix: '', bold: '', suffix: '') percentiles.map do |p| "#{prefix}#{bold}#{p}th Percentile:#{bold} #{metrics[:"p#{p}"]} days#{suffix}" end.join("\n") end |
.shared_metrics(work_items, metrics) ⇒ Object
31 32 33 34 35 36 37 38 39 40 41 42 |
# File 'lib/predictability_engine/summary_visualizer/helpers.rb', line 31 def self.shared_metrics(work_items, metrics) result = { 'Total Items': work_items.size, 'Completed Items': metrics[:completed].size, 'Average Throughput': "#{metrics[:tp_avg].round(2)} items/day" } Report::FACETS.each do |facet| breakdown = facet_breakdown(metrics[:completed], facet) result[:"#{facet[:label]} Breakdown"] = breakdown if breakdown end result end |
.terminal_colors(color) ⇒ Object
66 67 68 |
# File 'lib/predictability_engine/summary_visualizer/helpers.rb', line 66 def self.terminal_colors(color) color ? ["\e[1m", "\e[36m", "\e[0m"] : ['', '', ''] end |