module RuboCop::Formatter::Colorizable

This mix-in module provides string coloring methods for terminals. It automatically disables coloring if coloring is disabled in the process globally or the formatter's output is not a terminal.

Public Instance Methods

colorize(string, *args) click to toggle source
# File lib/rubocop/formatter/colorizable.rb, line 20
def colorize(string, *args)
  rainbow.wrap(string).color(*args)
end
rainbow() click to toggle source
# File lib/rubocop/formatter/colorizable.rb, line 8
def rainbow
  @rainbow ||= begin
    rainbow = Rainbow.new
    if options[:color]
      rainbow.enabled = true
    elsif options[:color] == false || !output.tty?
      rainbow.enabled = false
    end
    rainbow
  end
end