Class: Dex::UI::Color

Inherits:
Object
  • Object
show all
Defined in:
lib/dex/ui/color.rb

Defined Under Namespace

Classes: InvalidColorName

Constant Summary collapse

RED =
new('31', :red)
GREEN =
new('32', :green)
YELLOW =
new('33', :yellow)
BLUE =
new('34', :blue)
MAGENTA =
new('35', :magenta)
CYAN =
new('36', :cyan)
WHITE =
new('97', :white)
RESET =
new('0',  :reset)
BOLD =
new('1',  :bold)
MAP =
{
  red:     RED,
  green:   GREEN,
  yellow:  YELLOW,
  blue:    BLUE,
  magenta: MAGENTA,
  cyan:    CYAN,
  reset:   RESET,
  bold:    BOLD,
}.freeze

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(sgr, name) ⇒ Color

Returns a new instance of Color.



7
8
9
10
11
# File 'lib/dex/ui/color.rb', line 7

def initialize(sgr, name)
  @sgr  = sgr
  @code = Dex::UI::ANSI.sgr(sgr)
  @name = name
end

Instance Attribute Details

#codeObject (readonly)

Returns the value of attribute code.



6
7
8
# File 'lib/dex/ui/color.rb', line 6

def code
  @code
end

#nameObject (readonly)

Returns the value of attribute name.



6
7
8
# File 'lib/dex/ui/color.rb', line 6

def name
  @name
end

#sgrObject (readonly)

Returns the value of attribute sgr.



6
7
8
# File 'lib/dex/ui/color.rb', line 6

def sgr
  @sgr
end

Class Method Details

.availableObject



52
53
54
# File 'lib/dex/ui/color.rb', line 52

def self.available
  MAP.keys
end

.lookup(name) ⇒ Object



46
47
48
49
50
# File 'lib/dex/ui/color.rb', line 46

def self.lookup(name)
  MAP.fetch(name)
rescue KeyError
  raise InvalidColorName, name
end