Class: Ke::SingleLineReporter

Inherits:
Object
  • Object
show all
Defined in:
lib/ke/reporters/single_line_reporter.rb

Instance Method Summary collapse

Constructor Details

#initialize(task, label, io = STDOUT) ⇒ SingleLineReporter

Returns a new instance of SingleLineReporter.



3
4
5
6
7
# File 'lib/ke/reporters/single_line_reporter.rb', line 3

def initialize(task, label, io = STDOUT)
  @task = task
  @label = label
  @io = io
end

Instance Method Details



25
26
27
# File 'lib/ke/reporters/single_line_reporter.rb', line 25

def print_complete
  @io.puts "complete."
end


9
10
11
# File 'lib/ke/reporters/single_line_reporter.rb', line 9

def print_start
  @io.print "Starting #{@label}"
end


13
14
15
16
17
18
19
20
21
22
23
# 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)
    @io.print "{#{elapsed_time}/#{estimated_duration_until_complete} mins}"
  else
    @io.print "{#{elapsed_time} mins, #{ticks_per_second} ticks/sec}"
  end
end