Method: Ke::SingleLineReporter#print_tick

Defined in:
lib/ke/reporters/single_line_reporter.rb


13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/ke/reporters/single_line_reporter.rb', line 13

def print_tick
  ticks_per_second = (1 / @task.duration_per_tick).round(2)
  elapsed_time = (@task.elapsed_duration / 60.0).round(2)

  if @task.respond_to?(:estimated_duration_until_complete)
    estimated_duration_until_complete = (@task.estimated_duration_until_complete / 60.0).round(2)

    if @task.respond_to?(:total_ticks)
      pct = (@task.tick_count.to_f * 100 / @task.total_ticks).round(2)
      @io.print " #{elapsed_time}/#{estimated_duration_until_complete} mins, #{@task.tick_count}/#{@task.total_ticks} ticks ~ #{pct}% ..."
    else
      @io.print " #{elapsed_time}/#{estimated_duration_until_complete} mins ..."
    end
  else
    @io.print " #{elapsed_time} mins, #{ticks_per_second} ticks/sec ..."
  end
end