Module: Color
- Defined in:
- lib/color.rb
Constant Summary collapse
- SGR_CODES =
{ "normal" => 0, "bold" => 1, "dim" => 2, "italic" => 3, "ul" => 4, "reverse" => 7, "strike" => 9, "black" => 30, "red" => 31, "green" => 32, "yellow" => 33, "blue" => 34, "magenta" => 35, "cyan" => 36, "white" => 37 }
Class Method Summary collapse
Class Method Details
.format(style, string) ⇒ Object
20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/color.rb', line 20 def self.format(style, string) codes = [*style].map { |name| SGR_CODES.fetch(name.to_s) } color = false codes.each_with_index do |code, i| next unless code >= 30 codes[i] += 10 if color color = true end "\e[#{ codes.join(";") }m#{ string }\e[m" end |