class DigiMoji::Char
Constants
- A
- ALPHABETS
- AND
- APOSTROPHE
- ARROW_DOWN
- ARROW_LEFT
- ARROW_RIGHT
- ARROW_UP
- ASTERISK
- AT
- B
- BACKQUOTE
- BACK_SLASH
- BLOCK
Special characters
- C
- CARET
- CHAR_HEIGHT
- CHAR_WIDTH
- CLOSE_BRACE
- CLOSE_BRACKET
- CLOSE_PARENTHESIS
- COLON
- COMMA
- D
- DASH
- DIVIDE
- DOLLAR
- E
- EIGHT
- EQUAL
- EURO
- EXCLAMATION
- F
- FIVE
- FOUR
- G
- GREATER
- H
- I
- J
- K
- L
- LA
- LB
- LC
- LD
- LE
- LESS
- LF
- LG
- LH
- LI
- LJ
- LK
- LL
- LM
- LN
- LO
- LP
- LQ
- LR
- LS
- LT
- LU
- LV
- LW
- LX
- LY
- LZ
- M
- MINUS
- MISC
- N
- NINE
- O
- ONE
- OPEN_BRACE
- OPEN_BRACKET
- OPEN_PARENTHESIS
- P
- PERCENT
- PERIOD
- PIPE
- PLUS
- Q
- QUESTION
- QUOTE
- R
- S
- SEMI_COLON
- SEVEN
- SHAPE
- SIX
- SLASH
- SPACE
- T
- THREE
- TILDE
- TWO
- U
- UNDERSCORE
- V
- W
- X
- Y
- Z
- ZERO
Public Class Methods
[](char, fg: :bg_white, bg: nil, cell:" ", width:2)
click to toggle source
# File lib/digi_moji/char.rb, line 850 def self.[](char, fg: :bg_white, bg: nil, cell:" ", width:2) cells = cell * width * CHAR_WIDTH build_char_map(char).map do |row| pattern = row.map { |col| [col ? fg : bg] * width }.flatten cells.colco(*pattern, regexp:/./) end end
build_char_map(char)
click to toggle source
# File lib/digi_moji/char.rb, line 841 def self.build_char_map(char) unless char_map = @special_chars[char.to_s] char = ALPHABETS[char.to_s] || MISC[char.to_s] || raise(NotImplementError) char_map = const_get(char) end char_map.map { |cell| cell == 't' } .each_slice(char_map.size/7).to_a end
register(char, map)
click to toggle source
# File lib/digi_moji/char.rb, line 870 def self.register(char, map) validate_char_form(char, map) @special_chars[char] = map end
validate_char_form(char, map)
click to toggle source
# File lib/digi_moji/char.rb, line 875 def self.validate_char_form(char, map) if @special_chars[char.to_s] raise InUseCharError, "'#{char}' is in use" end if map.size != (CHAR_WIDTH * CHAR_HEIGHT) || !map.all? { |c| %w(t f).include? c } raise InvalidCharForm, "Passed map has invalid form" end true end