Class: Mutant::Reporter::CLI

Inherits:
Mutant::Reporter show all
Defined in:
lib/mutant/reporter/cli.rb,
lib/mutant/reporter/cli/tput.rb,
lib/mutant/reporter/cli/format.rb,
lib/mutant/reporter/cli/printer.rb,
lib/mutant/reporter/cli/printer/config.rb,
lib/mutant/reporter/cli/printer/status.rb,
lib/mutant/reporter/cli/printer/env_result.rb,
lib/mutant/reporter/cli/printer/test_result.rb,
lib/mutant/reporter/cli/printer/env_progress.rb,
lib/mutant/reporter/cli/printer/subject_result.rb,
lib/mutant/reporter/cli/printer/mutation_result.rb,
lib/mutant/reporter/cli/printer/subject_progress.rb,
lib/mutant/reporter/cli/printer/status_progressive.rb,
lib/mutant/reporter/cli/printer/mutation_progress_result.rb

Overview

Reporter that reports in human readable format

Defined Under Namespace

Classes: Format, Printer, Tput

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.build(output) ⇒ Reporter::CLI

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Build reporter



14
15
16
17
18
19
20
21
22
23
# File 'lib/mutant/reporter/cli.rb', line 14

def self.build(output)
  tput = Tput.detect
  tty = output.respond_to?(:tty?) && output.tty?
  format = if !Mutant.ci? && tty && tput
    Format::Framed.new(tty:  tty, tput: tput)
  else
    Format::Progressive.new(tty: tty)
  end
  new(output, format)
end

Instance Method Details

#delayFloat

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Report delay in seconds

TODO: Move this to a callback registration



56
57
58
# File 'lib/mutant/reporter/cli.rb', line 56

def delay
  format.delay
end

#progress(status) ⇒ self

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Report progress object



44
45
46
47
# File 'lib/mutant/reporter/cli.rb', line 44

def progress(status)
  write(format.progress(status))
  self
end

#report(env) ⇒ self

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Report env



79
80
81
82
# File 'lib/mutant/reporter/cli.rb', line 79

def report(env)
  Printer::EnvResult.call(output, env)
  self
end

#start(env) ⇒ self

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Report start



32
33
34
35
# File 'lib/mutant/reporter/cli.rb', line 32

def start(env)
  write(format.start(env))
  self
end

#warn(message) ⇒ self

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Report warning



67
68
69
70
# File 'lib/mutant/reporter/cli.rb', line 67

def warn(message)
  output.puts(message)
  self
end