Для вывода в консоль цветного текста, не обязательно пользоваться библиотекой ‘colorize’ или API функцией Windows ‘SetConsoleTextAttribute’ через fiddle. Есть возможность в простых случаях использовать управляющие коды консоли.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
class String
  def black; colorize(self, "\e[30m"); end # черный
  def dark_red; colorize(self, "\e[31m"); end # темно-красный
  def dark_green; colorize(self, "\e[32m"); end # темно-зеленый
  def dark_yellow; colorize(self, "\e[33m"); end # темно-желтый
  def dark_blue; colorize(self, "\e[34m"); end # темно-синий
  def dark_magenta; colorize(self, "\e[35m"); end # темно-пурпурный
  def dark_cyan; colorize(self, "\e[36m"); end # сине-зеленый
  def gray; colorize(self, "\e[1m\e[30m"); end # серый
  def red; colorize(self, "\e[1m\e[31m"); end # красный
  def green; colorize(self, "\e[1m\e[32m"); end # зеленый
  def yellow; colorize(self, "\e[1m\e[33m"); end # желтый
  def blue; colorize(self, "\e[1m\e[34m"); end # синий
  def magenta; colorize(self, "\e[1m\e[35m"); end # пурпурный
  def cyan; colorize(self, "\e[1m\e[36m"); end # голубой
  def white; colorize(self, "\e[37m"); end # белый
  def colorize(text, color_code)  "#{color_code}#{text}\e[0m" end
end

puts "Черный".black
puts "Темно-красный".dark_red
puts "Темно-Зеленый".dark_green
puts "Темно-желтый".dark_yellow
puts "Темно-синий".dark_blue
puts "Темно-пурпурный".dark_magenta
puts "Сине-зеленый".cyan
puts "Серый".gray
puts "Красный".red
puts "Зеленый".green
puts "Желтый".yellow
puts "Синий".blue
puts "Пурпурный".magenta
puts "Голубой".cyan
puts "Белый".white