Class: Ke::MultiLineReporter

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

Instance Method Summary collapse

Constructor Details

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

Returns a new instance of MultiLineReporter.



3
4
5
6
7
# File 'lib/ke/reporters/multi_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/multi_line_reporter.rb', line 25

def print_complete
  @io.puts "Completed #{@label}, #{@task.total_duration} total duration"
end


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

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


13
14
15
16
17
18
19
20
21
22
23
# File 'lib/ke/reporters/multi_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.puts "Running #{@label}, #{elapsed_time} minutes elapsed, #{estimated_duration_until_complete} minutes remaining"
  else
    @io.puts "Running #{@label}, #{elapsed_time} minutes elapsed, #{ticks_per_second} ticks/second"
  end
end