Module: Termclock::ParseCharacters

Defined in:
lib/termclock/parse_characters.rb

Constant Summary collapse

CHARACTERS =
"#\\s0\n````````\n``\\s\\s\\s\\s``\n``\\s\\s\\s\\s``\n``\\s\\s\\s\\s``\n````````\n\n#\\s1\n\\s\\s\\s``\n`````\n\\s\\s\\s``\n\\s\\s\\s``\n````````\n\n#\\s2\n````````\n\\s\\s\\s\\s\\s\\s``\n````````\n``\n````````\n\n#\\s3\n````````\n\\s\\s\\s\\s\\s\\s``\n````````\n\\s\\s\\s\\s\\s\\s``\n````````\n\n#\\s4\n``\\s\\s\\s\\s``\n``\\s\\s\\s\\s``\n````````\n\\s\\s\\s\\s\\s\\s``\n\\s\\s\\s\\s\\s\\s``\n\n#\\s5\n````````\n``\n````````\n\\s\\s\\s\\s\\s\\s``\n````````\n\n#\\s6\n````````\n``\n````````\n``\\s\\s\\s\\s``\n````````\n\n#\\s7\n````````\n\\s\\s\\s\\s\\s\\s``\n\\s\\s\\s\\s\\s\\s``\n\\s\\s\\s\\s\\s\\s``\n\\s\\s\\s\\s\\s\\s``\n\n#\\s8\n````````\n``\\s\\s\\s\\s``\n````````\n``\\s\\s\\s\\s``\n````````\n\n#\\s9\n````````\n``\\s\\s\\s\\s``\n````````\n\\s\\s\\s\\s\\s\\s``\n````````\n\n#\\s:\n\\u2B29\\u2B29\n\\u2B29\\u2B29\n\n\\u2B29\\u2B29\n\\u2B29\\u2B29\n\n#\\s$\n\\s\\s\n\\s\\s\n\n\\s\\s\n\\s\\s\n#\\sA\n````````\n``\\s\\s\\s\\s``\n````````\n``\\s\\s\\s\\s``\n``\\s\\s\\s\\s``\n\n#\\sB\n````````\n``\\s\\s\\s\\s\\s``\n````````\n``\\s\\s\\s\\s\\s``\n````````\n\n#\\sC\n````````\n``\n``\n``\n````````\n\n#\\sD\n````````\n``\\s\\s\\s\\s\\s``\n``\\s\\s\\s\\s\\s\\s``\n``\\s\\s\\s\\s\\s``\n````````\n\n#\\sE\n````````\n``\n````````\n``\n````````\n\n#\\sF\n````````\n``\n````````\n``\n``\n\n#\\sG\n````````\n``\n``\n``\\s\\s````\n````````\n\n#\\sH\n``\\s\\s\\s\\s``\n``\\s\\s\\s\\s``\n````````\n``\\s\\s\\s\\s``\n``\\s\\s\\s\\s``\n\n#\\sI\n````````\n\\s\\s\\s``\n\\s\\s\\s``\n\\s\\s\\s``\n````````\n\n#\\sJ\n````````\n\\s\\s\\s\\s\\s\\s``\n\\s\\s\\s\\s\\s\\s``\n\\s``\\s\\s\\s``\n\\s```````\n\n#\\sK\n``\\s\\s\\s\\s``\n``\\s\\s``\n`````\n``\\s\\s``\n``\\s\\s\\s\\s``\n\n#\\sL\n``\n``\n``\n``\n````````\n\n#\\sM\n```\\s\\s```\n``\\s``\\s``\n``\\s\\s\\s\\s``\n``\\s\\s\\s\\s``\n``\\s\\s\\s\\s``\n\n#\\sN\n````\\s\\s``\n``\\s``\\s``\n``\\s``\\s``\n``\\s``\\s``\n``\\s\\s````\n\n#\\sO\n````````\n``\\s\\s\\s\\s``\n``\\s\\s\\s\\s``\n``\\s\\s\\s\\s``\n````````\n\n#\\sP\n````````\n``\\s\\s\\s\\s``\n````````\n``\n``\n\n#\\sQ\n````````\n``\\s\\s\\s\\s``\n````````\n\\s\\s\\s\\s\\s\\s``\n\\s\\s\\s\\s\\s\\s``\n\n#\\sR\n````````\n``\\s\\s\\s\\s``\n````````\n`````\n``\\s\\s\\s``\n\n#\\sS\n````````\n``\n````````\n\\s\\s\\s\\s\\s\\s``\n````````\n\n#\\sT\n````````\n\\s\\s\\s``\n\\s\\s\\s``\n\\s\\s\\s``\n\\s\\s\\s``\n\n#\\sU\n``\\s\\s\\s\\s``\n``\\s\\s\\s\\s``\n``\\s\\s\\s\\s``\n``\\s\\s\\s\\s``\n````````\n\n#\\sV\n``\\s\\s\\s\\s``\n``\\s\\s\\s\\s``\n``\\s\\s\\s\\s``\n\\s``\\s\\s``\\s\n\\s\\s\\s``\n\n#\\sW\n``\\s\\s\\s\\s``\n``\\s\\s\\s\\s``\n``\\s\\s\\s\\s``\n``\\s`\\s\\s``\n````````\n\n#\\sX\n``\\s\\s\\s\\s``\n\\s``\\s\\s``\n\\s\\s\\s``\n\\s``\\s\\s``\n``\\s\\s\\s\\s``\n\n#\\sY\n``\\s\\s\\s\\s``\n``\\s\\s\\s\\s``\n````````\n\\s\\s\\s``\n\\s\\s\\s``\n\n#\\sZ\n````````\n\\s\\s\\s\\s\\s``\n\\s\\s\\s``\n\\s``\n````````\n\n#\\s/\n\\s\\s\\s\\s\\s``\\s\n\\s\\s\\s\\s``\\s\\s\n\\s\\s\\s``\\s\\s\\s\n\\s\\s``\\s\\s\\s\\s\n\\s``\\s\\s\\s\\s\\s\n\n#\\s\\\\\n\\s``\\s\\s\\s\\s\\s\n\\s\\s``\\s\\s\\s\\s\n\\s\\s\\s``\\s\\s\\s\n\\s\\s\\s\\s``\\s\\s\n\\s\\s\\s\\s\\s``\\s\n\n#\\s%\n\\s\\s\\s\\s\\s``\\s\n``\\s\\s``\\s\\s\n\\s\\s\\s``\\s\\s\\s\n\\s\\s``\\s\\s``\n\\s``\\s\\s\\s\\s\\s\n\n#\\s|\n\\s\\s\\s``\\s\\s\\s\n\\s\\s\\s``\\s\\s\\s\n\\s\\s\\s``\\s\\s\\s\n\\s\\s\\s``\\s\\s\\s\n\\s\\s\\s``\\s\\s\\s\n\n#\\s!\n\\s\\s\\s``\\s\\s\\s\n\\s\\s\\s``\\s\\s\\s\n\\s\\s\\s``\\s\\s\\s\n\\s\\s\\s\\s\\s\\s\\s\\s\n\\s\\s\\s``\\s\\s\\s\n".freeze

Class Method Summary collapse

Class Method Details

.display(c) ⇒ Object



340
341
342
343
344
345
346
347
348
349
350
351
352
# File 'lib/termclock/parse_characters.rb', line 340

def display(c)
  j = []

  c.upcase.each_char { |x|
    @@characters.fetch(x, x).split(NEWLINE)
    .each_with_index { |z, i|
      _j = j[i]
      _j && _j << z || j[i] = z
    }
  }

  j.join(NEWLINE)
end

.transform_characters!(arg) ⇒ Object



319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
# File 'lib/termclock/parse_characters.rb', line 319

def transform_characters!(arg)
  @@transformed ||= nil
  fail RuntimeError, 'Characters already transformed!' if @@transformed
  @@transformed ||= true

  @@characters.values.each { |x|
    stripped = x.strip[0]
    chars = arg.chars.rotate(-1)

    if stripped
      replace_with = x.chars.map { |y|
        chars = arg.chars.rotate(-1) if y == NEWLINE
        next(y) if y != stripped
        chars.rotate!(1)[0]
      }.join

      x.replace(replace_with)
    end
  }
end