Module: RSpec::Core::Formatters::ConsoleCodes

Defined in:
lib/rspec/core/formatters/console_codes.rb

Overview

ConsoleCodes provides helpers for formatting console output with ANSI codes, e.g. color's and bold.

Class Method Summary collapse

Class Method Details

.console_code_for(code_or_symbol) ⇒ Fixnum

Fetches the correct code for the supplied symbol, or checks that a code is valid. Defaults to white (37).

Parameters:

  • code_or_symbol (Symbol, Fixnum)

    Symbol or code to check

Returns:

  • (Fixnum)

    a console code



36
37
38
39
40
41
42
43
44
45
46
# File 'lib/rspec/core/formatters/console_codes.rb', line 36

def console_code_for(code_or_symbol)
  if (config_method = CONFIG_COLORS_TO_METHODS[code_or_symbol])
    console_code_for RSpec.configuration.__send__(config_method)
  elsif VT100_CODE_VALUES.key?(code_or_symbol)
    code_or_symbol
  else
    VT100_CODES.fetch(code_or_symbol) do
      console_code_for(:white)
    end
  end
end

.wrap(text, code_or_symbol) ⇒ String

Wraps a piece of text in ANSI codes with the supplied code. Will only apply the control code if RSpec.configuration.color_enabled? returns true.

Parameters:

  • text (String)

    the text to wrap

  • code_or_symbol (Symbol, Fixnum)

    the desired control code

Returns:

  • (String)

    the wrapped text



55
56
57
58
59
60
61
# File 'lib/rspec/core/formatters/console_codes.rb', line 55

def wrap(text, code_or_symbol)
  if RSpec.configuration.color_enabled?
    "\e[#{console_code_for(code_or_symbol)}m#{text}\e[0m"
  else
    text
  end
end