Class: CLI::UI::Glyph

Inherits:
Object
  • Object
show all
Extended by:
T::Sig
Defined in:
lib/cli/ui/glyph.rb

Defined Under Namespace

Classes: InvalidGlyphHandle

Constant Summary collapse

MAP =

Mapping of glyphs to terminal output

{}
STAR =

YELLOW SMALL STAR (โญ‘)

new('*', 0x2b51,           '*', Color::YELLOW)
INFO =

BLUE MATHEMATICAL SCRIPT SMALL i (๐’พ)

new('i', 0x1d4be,          'i', Color::BLUE)
QUESTION =

BLUE QUESTION MARK (?)

new('?', 0x003f,           '?', Color::BLUE)
CHECK =

GREEN CHECK MARK (โœ“)

new('v', 0x2713,           'โˆš', Color::GREEN)
X =

RED BALLOT X (โœ—)

new('x', 0x2717,           'X', Color::RED)
BUG =

Bug emoji (๐Ÿ›)

new('b', 0x1f41b,          '!', Color::WHITE)
CHEVRON =

RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK (ยป)

new('>', 0xbb,             'ยป', Color::YELLOW)
HOURGLASS =

HOURGLASS + VARIATION SELECTOR 15 (โŒ›๏ธŽ)

new('H', [0x231b, 0xfe0e], 'H', Color::BLUE)
WARNING =

WARNING SIGN + VARIATION SELECTOR 16 (โš ๏ธ )

new('!', [0x26a0, 0xfe0f], '!', Color::YELLOW)

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods included from T::Sig

sig

Constructor Details

#initialize(handle, codepoint, plain, color) ⇒ Glyph

Returns a new instance of Glyph.



46
47
48
49
50
51
52
53
54
55
# File 'lib/cli/ui/glyph.rb', line 46

def initialize(handle, codepoint, plain, color)
  @handle    = handle
  @codepoint = codepoint
  @color     = color
  @char      = CLI::UI::OS.current.use_emoji? ? Array(codepoint).pack('U*') : plain
  @to_s      = color.code + @char + Color::RESET.code
  @fmt       = "{{#{color.name}:#{@char}}}"

  MAP[handle] = self
end

Instance Attribute Details

#charObject (readonly)

Returns the value of attribute char.



28
29
30
# File 'lib/cli/ui/glyph.rb', line 28

def char
  @char
end

#codepointObject (readonly)

Returns the value of attribute codepoint.



31
32
33
# File 'lib/cli/ui/glyph.rb', line 31

def codepoint
  @codepoint
end

#colorObject (readonly)

Returns the value of attribute color.



34
35
36
# File 'lib/cli/ui/glyph.rb', line 34

def color
  @color
end

#fmtObject (readonly)

Returns the value of attribute fmt.



28
29
30
# File 'lib/cli/ui/glyph.rb', line 28

def fmt
  @fmt
end

#handleObject (readonly)

Returns the value of attribute handle.



28
29
30
# File 'lib/cli/ui/glyph.rb', line 28

def handle
  @handle
end

#to_sObject (readonly)

Returns the value of attribute to_s.



28
29
30
# File 'lib/cli/ui/glyph.rb', line 28

def to_s
  @to_s
end

Class Method Details

.availableObject



91
92
93
# File 'lib/cli/ui/glyph.rb', line 91

def available
  MAP.keys
end

.lookup(name) ⇒ Object



82
83
84
85
86
# File 'lib/cli/ui/glyph.rb', line 82

def lookup(name)
  MAP.fetch(name.to_s)
rescue KeyError
  raise InvalidGlyphHandle, name
end