Module: Zalgor
- Defined in:
- lib/zalgor/handler.rb,
lib/zalgor/version.rb,
lib/zalgor/combining_chars.rb
Constant Summary collapse
- DEFAULT_OPTIONS =
The default options to transform the text.
{ down: 2, mid: 2, up: 2, random: false }.freeze
- VERSION =
'1.0.0'- COMBINING_CHARS =
The all combining unicode chars see : en.wikipedia.org/wiki/Zalgo_text inspired by : eeemo.net/
{ down: [ "\u0316", # ̖ "\u0317", # ̗ "\u0318", # ̘ "\u0319", # ̙ "\u031c", # ̜ "\u031d", # ̝ "\u031e", # ̞ "\u031f", # ̟ "\u0320", # ̠ "\u0324", # ̤ "\u0325", # ̥ "\u0326", # ̦ "\u0329", # ̩ "\u032a", # ̪ "\u032b", # ̫ "\u032c", # ̬ "\u032d", # ̭ "\u032e", # ̮ "\u032f", # ̯ "\u0330", # ̰ "\u0331", # ̱ "\u0332", # ̲ "\u0333", # ̳ "\u0339", # ̹ "\u033a", # ̺ "\u033b", # ̻ "\u033c", # ̼ "\u0345", # ͅ "\u0347", # ͇ "\u0348", # ͈ "\u0349", # ͉ "\u034d", # ͍ "\u034e", # ͎ "\u0353", # ͓ "\u0354", # ͔ "\u0355", # ͕ "\u0356", # ͖ "\u0359", # ͙ "\u035a", # ͚ "\u0323" # ̣ ].freeze, mid: [ "\u0315", # ̕ "\u031b", # ̛ "\u0340", # ̀ "\u0341", # ́ "\u0358", # ͘ "\u0321", # ̡ "\u0322", # ̢ "\u0327", # ̧ "\u0328", # ̨ "\u0334", # ̴ "\u0335", # ̵ "\u0336", # ̶ "\u034f", # ͏ "\u035c", # ͜ "\u035d", # ͝ "\u035e", # ͞ "\u035f", # ͟ "\u0360", # ͠ "\u0362", # ͢ "\u0338", # ̸ "\u0337", # ̷ "\u0361", # ͡ "\u0489" # ҉_ ].freeze, up: [ "\u030d", # ̍ "\u030e", # ̎ "\u0304", # ̄ "\u0305", # ̅ "\u033f", # ̿ "\u0311", # ̑ "\u0306", # ̆ "\u0310", # ̐ "\u0352", # ͒ "\u0357", # ͗ "\u0351", # ͑ "\u0307", # ̇ "\u0308", # ̈ "\u030a", # ̊ "\u0342", # ͂ "\u0343", # ̓ "\u0344", # ̈́ "\u034a", # ͊ "\u034b", # ͋ "\u034c", # ͌ "\u0303", # ̃ "\u0302", # ̂ "\u030c", # ̌ "\u0350", # ͐ "\u0300", # ̀ "\u0301", # ́ "\u030b", # ̋ "\u030f", # ̏ "\u0312", # ̒ "\u0313", # ̓ "\u0314", # ̔ "\u033d", # ̽ "\u0309", # ̉ "\u0363", # ͣ "\u0364", # ͤ "\u0365", # ͥ "\u0366", # ͦ "\u0367", # ͧ "\u0368", # ͨ "\u0369", # ͩ "\u036a", # ͪ "\u036b", # ͫ "\u036c", # ͬ "\u036d", # ͭ "\u036e", # ͮ "\u036f", # ͯ "\u033e", # ̾ "\u035b", # ͛ "\u0346", # ͆ "\u031a" # ̚ ].freeze }.freeze
Class Method Summary collapse
-
.purify(string) ⇒ Object
Purify a zalgo String to normale string.
-
.transform(string, **options) ⇒ Object
Transform a string to zalgo string.
Class Method Details
.purify(string) ⇒ Object
Purify a zalgo String to normale string.
37 38 39 40 41 42 43 44 |
# File 'lib/zalgor/handler.rb', line 37 def purify(string) combining_chars = (COMBINING_CHARS[:down] + COMBINING_CHARS[:mid] + COMBINING_CHARS[:up]) string.chars.map do |char| next if combining_chars.include? char char end.join end |
.transform(string, **options) ⇒ Object
Transform a string to zalgo string.
20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/zalgor/handler.rb', line 20 def transform(string, **) down = [:down] || DEFAULT_OPTIONS[:down] mid = [:mid] || DEFAULT_OPTIONS[:mid] up = [:up] || DEFAULT_OPTIONS[:up] random = [:random] || DEFAULT_OPTIONS[:random] '' + string.chars.map do |char| set_combining_chars('', down, COMBINING_CHARS[:down], random) + set_combining_chars(char, mid, COMBINING_CHARS[:mid], random) + set_combining_chars('', up, COMBINING_CHARS[:up], random) end.join end |