Class: CLI::UI::Color
- Inherits:
-
Object
- Object
- CLI::UI::Color
- Defined in:
- lib/cli/ui/color.rb
Defined Under Namespace
Classes: InvalidColorName
Constant Summary collapse
- RED =
new('31', :red)
- GREEN =
new('32', :green)
- YELLOW =
new('33', :yellow)
- BLUE =
default blue is low-contrast against black in some default terminal color scheme
new('94', :blue)
- MAGENTA =
new('35', :magenta)
- CYAN =
new('36', :cyan)
- RESET =
new('0', :reset)
- BOLD =
new('1', :bold)
- WHITE =
new('97', :white)
- GRAY =
240 is very dark gray; 255 is very light gray. 244 is somewhat dark.
new('38;5;244', :grey)
- MAP =
{ red: RED, green: GREEN, yellow: YELLOW, blue: BLUE, magenta: MAGENTA, cyan: CYAN, reset: RESET, bold: BOLD, gray: GRAY, }.freeze
Instance Attribute Summary collapse
-
#code ⇒ Object
readonly
Returns the value of attribute code.
-
#name ⇒ Object
readonly
Returns the value of attribute name.
-
#sgr ⇒ Object
readonly
Returns the value of attribute sgr.
Class Method Summary collapse
-
.available ⇒ Object
All available colors by name.
-
.lookup(name) ⇒ Object
Looks up a color code by name.
Instance Method Summary collapse
-
#initialize(sgr, name) ⇒ Color
constructor
Creates a new color mapping Signatures can be found here: en.wikipedia.org/wiki/ANSI_escape_code#Colors.
Constructor Details
#initialize(sgr, name) ⇒ Color
Creates a new color mapping Signatures can be found here: en.wikipedia.org/wiki/ANSI_escape_code#Colors
Attributes
-
sgr
- The color signature -
name
- The name of the color
17 18 19 20 21 |
# File 'lib/cli/ui/color.rb', line 17 def initialize(sgr, name) @sgr = sgr @code = CLI::UI::ANSI.sgr(sgr) @name = name end |
Instance Attribute Details
#code ⇒ Object (readonly)
Returns the value of attribute code.
6 7 8 |
# File 'lib/cli/ui/color.rb', line 6 def code @code end |
#name ⇒ Object (readonly)
Returns the value of attribute name.
6 7 8 |
# File 'lib/cli/ui/color.rb', line 6 def name @name end |
#sgr ⇒ Object (readonly)
Returns the value of attribute sgr.
6 7 8 |
# File 'lib/cli/ui/color.rb', line 6 def sgr @sgr end |
Class Method Details
.available ⇒ Object
All available colors by name
78 79 80 |
# File 'lib/cli/ui/color.rb', line 78 def self.available MAP.keys end |
.lookup(name) ⇒ Object
Looks up a color code by name
Raises
Raises a InvalidColorName if the color is not available You likely need to add it to the MAP
or you made a typo
Returns
Returns a color code
70 71 72 73 74 |
# File 'lib/cli/ui/color.rb', line 70 def self.lookup(name) MAP.fetch(name) rescue KeyError raise InvalidColorName, name end |