Class: Mutant::Reporter::CLI
- Inherits:
-
Mutant::Reporter
- Object
- Mutant::Reporter
- Mutant::Reporter::CLI
- 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
Overview
Reporter that reports in human readable format
Defined Under Namespace
Classes: Format, Printer, Tput
Class Method Summary collapse
-
.build(output) ⇒ Reporter::CLI
private
Build reporter.
Instance Method Summary collapse
-
#delay ⇒ Float
private
Return report delay in seconds.
-
#progress(status) ⇒ self
private
Report progress object.
-
#report(env) ⇒ self
private
Report env.
-
#start(env) ⇒ self
private
Report start.
-
#warn(message) ⇒ self
private
Report warning.
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
15 16 17 18 19 20 21 22 23 |
# File 'lib/mutant/reporter/cli.rb', line 15 def self.build(output) tty = output.respond_to?(:tty?) && output.tty? format = if !Mutant.ci? && tty && Tput::INSTANCE.available Format::Framed.new(tty: tty, tput: Tput::INSTANCE) else Format::Progressive.new(tty: tty) end new(output, format) end |
Instance Method Details
#delay ⇒ Float
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.
Return report delay in seconds
TODO: Move this to a callback registration
Reporters other than CLI that might exist in future
may only need the final report. So providing a noop callback
registration makes more sense for these.
As only CLI reporters exist currently I do not really care right now.
64 65 66 |
# File 'lib/mutant/reporter/cli.rb', line 64 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
46 47 48 49 |
# File 'lib/mutant/reporter/cli.rb', line 46 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
89 90 91 92 |
# File 'lib/mutant/reporter/cli.rb', line 89 def report(env) Printer::EnvResult.run(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
33 34 35 36 |
# File 'lib/mutant/reporter/cli.rb', line 33 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
76 77 78 79 |
# File 'lib/mutant/reporter/cli.rb', line 76 def warn() output.puts() self end |