module Coveralls::Output

Public: Methods for formatting strings with Term::ANSIColor. Does not utilize monkey-patching and should play nicely when included with other libraries.

All methods are module methods and should be called on the Coveralls::Output module.

Examples

Coveralls::Output.format("Hello World", :color => "cyan")
# => "\e[36mHello World\e[0m"

Coveralls::Output.print("Hello World")
# Hello World => nil

Coveralls::Output.puts("Hello World", :color => "underline")
# Hello World
# => nil

To silence output completely:

Coveralls::Output.silent = true

or set this environment variable:

COVERALLS_SILENT

To disable color completely:

Coveralls::Output.no_color = true

Attributes

no_color[RW]
output[W]
silent[RW]

Public Instance Methods

format(string, options = {}) click to toggle source

Public: Formats the given string with the specified color through Term::ANSIColor

string - the text to be formatted options - The hash of options used for formatting the text:

:color - The color to be passed as a method to
         Term::ANSIColor

Examples

Coveralls::Output.format("Hello World!", :color => "cyan")
# => "\e[36mHello World\e[0m"

Returns the formatted string.

# File lib/coveralls/output.rb, line 66
def format(string, options = {})
  unless no_color?
    require 'term/ansicolor'
    options[:color]&.split(/\s/)&.reverse_each do |color|
      next unless Term::ANSIColor.respond_to?(color.to_sym)

      string = Term::ANSIColor.send(color.to_sym, string)
    end
  end
  string
end
no_color?() click to toggle source
# File lib/coveralls/output.rb, line 48
def no_color?
  defined?(@no_color) && @no_color
end
output() click to toggle source
# File lib/coveralls/output.rb, line 44
def output
  (defined?(@output) && @output) || $stdout
end
print(string, options = {}) click to toggle source

Public: Passes .format to Kernel#print

string - the text to be formatted options - The hash of options used for formatting the text:

:color - The color to be passed as a method to
         Term::ANSIColor

Example

Coveralls::Output.print("Hello World!", :color => "underline")

Returns nil.

puts(string, options = {}) click to toggle source

Public: Passes .format to Kernel#puts

string - the text to be formatted options - The hash of options used for formatting the text:

:color - The color to be passed as a method to
         Term::ANSIColor

Example

Coveralls::Output.puts("Hello World", :color => "cyan")

Returns nil.

# File lib/coveralls/output.rb, line 91
def puts(string, options = {})
  return if silent?

  (options[:output] || output).puts format(string, options)
end
silent?() click to toggle source
# File lib/coveralls/output.rb, line 115
def silent?
  ENV['COVERALLS_SILENT'] || (defined?(@silent) && @silent)
end