Module: RuboCop::Formatter::Colorizable

Included in:
SimpleTextFormatter, SimpleTextFormatter::Report
Defined in:
lib/rubocop/formatter/colorizable.rb

Overview

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.

Instance Method Summary collapse

Instance Method Details

#colorize(string, *args) ⇒ Object



21
22
23
# File 'lib/rubocop/formatter/colorizable.rb', line 21

def colorize(string, *args)
  rainbow.wrap(string).color(*args)
end

#rainbowObject



9
10
11
12
13
14
15
16
17
18
19
# File 'lib/rubocop/formatter/colorizable.rb', line 9

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