Class: Okao::Parser
- Inherits:
-
Object
- Object
- Okao::Parser
- Defined in:
- lib/okao/parser.rb
Class Method Summary collapse
Class Method Details
.to_okao(text) ⇒ Object
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
# File 'lib/okao/parser.rb', line 4 def to_okao(text) lines = text.split("\n") lines.reduce('') do |acc, cur| points = cur.codepoints.map { |c| c.to_s(8).to_i } okaos = points.map do |point| face_list = format('%06d', point.to_s).split('').map do |i| Okao::Emoticon.send("face#{i}") end face_list.join end "#{acc}#{okaos.join}\n" end end |
.to_text(okao_line) ⇒ Object
20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/okao/parser.rb', line 20 def to_text(okao_line) okao_hash = Okao::Emoticon.to_h.invert numbers = okao_line.gsub(/\(.*?\)/) do |m| var_name = okao_hash[m] var_name.slice(/\d/) end normal_text = numbers.gsub(/\d{6}/) do |n| n.to_i(8).chr('UTF-8') end "#{normal_text}\n" end |