Module: Chamomile::Color

Defined in:
lib/chamomile/styling/color.rb

Defined Under Namespace

Classes: ANSI256Color, ANSIColor, NoColor, TrueColor

Constant Summary collapse

BLACK =

Named ANSI color constants (0-15)

ANSIColor.new(code: 0)
RED =
ANSIColor.new(code: 1)
GREEN =
ANSIColor.new(code: 2)
YELLOW =
ANSIColor.new(code: 3)
BLUE =
ANSIColor.new(code: 4)
MAGENTA =
ANSIColor.new(code: 5)
CYAN =
ANSIColor.new(code: 6)
WHITE =
ANSIColor.new(code: 7)
BRIGHT_BLACK =
ANSIColor.new(code: 8)
BRIGHT_RED =
ANSIColor.new(code: 9)
BRIGHT_GREEN =
ANSIColor.new(code: 10)
BRIGHT_YELLOW =
ANSIColor.new(code: 11)
BRIGHT_BLUE =
ANSIColor.new(code: 12)
BRIGHT_MAGENTA =
ANSIColor.new(code: 13)
BRIGHT_CYAN =
ANSIColor.new(code: 14)
BRIGHT_WHITE =
ANSIColor.new(code: 15)

Class Method Summary collapse

Class Method Details

.parse(value) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
# File 'lib/chamomile/styling/color.rb', line 5

def self.parse(value)
  return NoColor.new if value.nil? || value == ""

  return parse_hex(value) if value.is_a?(String) && value.start_with?("#")

  code = value.to_i
  return ANSIColor.new(code: code) if code.between?(0, 15)
  return ANSI256Color.new(code: code) if code.between?(16, 255)

  NoColor.new
end