Module: FunCi::Tui::StreakCounter
- Defined in:
- lib/fun_ci/tui/streak_counter.rb
Constant Summary collapse
- PASS_STATUS =
"completed"- ACTIVE_STATUSES =
%w[running scheduled].freeze
Class Method Summary collapse
Class Method Details
.count(runs) ⇒ Object
9 10 11 12 13 14 15 16 17 18 19 |
# File 'lib/fun_ci/tui/streak_counter.rb', line 9 def self.count(runs) terminal_runs = runs.reject { |r| ACTIVE_STATUSES.include?(r[:status]) } return nil if terminal_runs.empty? streak = 0 terminal_runs.each do |run| break unless run[:status] == PASS_STATUS streak += 1 end streak end |
.format_text(streak) ⇒ Object
21 22 23 24 25 26 |
# File 'lib/fun_ci/tui/streak_counter.rb', line 21 def self.format_text(streak) return nil if streak.nil? return "Streak broken" if streak == 0 "#{streak} in a row!" end |