class ElectricMonk::Reporter

Public Instance Methods

fail(msg) click to toggle source
# File lib/electric_monk.rb, line 160
def fail(msg)
  increase_failures
  @final_message = "✗ #{msg}"
  @spinner.join
end
report() click to toggle source
# File lib/electric_monk.rb, line 166
def report
  puts

  if @failures.nil?
    puts "Everything ok"
  else
    puts "#{@failures} failures"
    # I probably do not belong here
    exit(1)
  end
end
start(task_name) click to toggle source
# File lib/electric_monk.rb, line 135
def start(task_name)
  @task_name = task_name
  @final_message = nil

  @spinner = Thread.new do
    chars = %w[⠋ ⠙ ⠹ ⠸ ⠼ ⠴ ⠦ ⠧ ⠇ ⠏].cycle
    until @final_message do
      current_task_name = @task_name
      print "#{chars.next} #{current_task_name}"
      sleep 0.1
      print "\b \b" * (current_task_name.length + 2)
    end
    puts @final_message
  end
end
succeed(msg) click to toggle source
# File lib/electric_monk.rb, line 155
def succeed(msg)
  @final_message = "✓ #{msg}"
  @spinner.join
end
update_progress(task_name) click to toggle source
# File lib/electric_monk.rb, line 151
def update_progress(task_name)
  @task_name = task_name
end

Private Instance Methods

increase_failures() click to toggle source
# File lib/electric_monk.rb, line 180
def increase_failures
  if @failures.nil?
    @failures = 1
  else
    @failures += 1
  end
end