Module: Colored
Overview
cute.
>> "this is red".red
>> "this is red with a blue background (read: ugly)".red_on_blue
>> "this is red with an underline".red.underline
>> "this is really bold and really blue".bold.blue
>> Colored.red "This is red" # but this part is mostly untested
Constant Summary collapse
- COLORS =
{ 'black' => 30, 'red' => 31, 'green' => 32, 'yellow' => 33, 'blue' => 34, 'magenta' => 35, 'cyan' => 36, 'white' => 37 }.freeze
- EXTRAS =
{ 'clear' => 0, 'bold' => 1, 'underline' => 4, 'reversed' => 7 }.freeze
Instance Method Summary collapse
- #color(color_name) ⇒ Object
- #colorize(string, options = {}) ⇒ Object
- #colors ⇒ Object
- #extra(extra_name) ⇒ Object
Instance Method Details
#color(color_name) ⇒ Object
81 82 83 84 85 86 |
# File 'lib/assetify/cli/colored.rb', line 81 def color(color_name) background = color_name.to_s =~ /on_/ color_name = color_name.to_s.sub('on_', '') return unless color_name && COLORS[color_name] "\e[#{COLORS[color_name] + (background ? 10 : 0)}m" end |
#colorize(string, options = {}) ⇒ Object
66 67 68 69 70 |
# File 'lib/assetify/cli/colored.rb', line 66 def colorize(string, = {}) colored = [color([:foreground]), color("on_#{[:background]}"), extra([:extra])].compact * '' colored << string colored << extra(:clear) end |
#colors ⇒ Object
72 73 74 |
# File 'lib/assetify/cli/colored.rb', line 72 def colors @@colors ||= COLORS.keys.sort end |