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

Parameters:

  • output (IO)

Returns:



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

Returns:

  • (Float)


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

Parameters:

Returns:

  • (self)


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

Parameters:

Returns:

  • (self)


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

Parameters:

Returns:

  • (self)


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

Parameters:

  • message (String)

Returns:

  • (self)


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

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