Skip to content

Instantly share code, notes, and snippets.

@mzemel
Created February 13, 2018 16:00
Show Gist options
  • Save mzemel/345ed099270472d1990ecb5dbf5a8d26 to your computer and use it in GitHub Desktop.
Save mzemel/345ed099270472d1990ecb5dbf5a8d26 to your computer and use it in GitHub Desktop.
Text to Emoji
#!/usr/bin/env ruby
A = <<-A
+
+ +
+++
+ +
+ +
A
B = <<-B
++
+ +
++
+ +
++
B
C = <<-C
++
+
+
+
++
C
D = <<-D
++
+ +
+ +
+ +
++
D
E = <<-E
+++
+
+++
+
+++
E
F = <<-F
+++
+
++
+
+
F
G = <<-G
++
+
+ +
+ +
++
G
H = <<-H
+ +
+ +
+++
+ +
+ +
H
I = <<-I
+++
+
+
+
+++
I
J = <<-J
+++
+
+
+ +
+
J
K = <<-K
+ +
+ +
++
+ +
+ +
K
L = <<-L
+
+
+
+
+++
L
M = <<-M
+ +
+++
+ +
+ +
+ +
M
N = <<-N
++
+ +
+ +
+ +
+ +
N
O = <<-O
+
+ +
+ +
+ +
+
O
P = <<-P
++
+ +
++
+
+
P
Q = <<-Q
+
+ +
+ +
+ +
++
Q
R = <<-R
++
+ +
++
+ +
+ +
R
S = <<-S
++
+
+
+
++
S
T = <<-T
+++
+
+
+
+
T
U = <<-U
+ +
+ +
+ +
+ +
+++
U
V = <<-V
+ +
+ +
+ +
+ +
+
V
W = <<-W
+ +
+ +
+ +
+++
+ +
W
X = <<-X
+ +
+ +
+
+ +
+ +
X
Y = <<-Y
+ +
+ +
+
+
+
Y
Z = <<-Z
+++
+
+
+
+++
Z
SPACE = <<-END
END
DASH = <<-END
+++
END
SEPARATOR = <<-END
END
PLUS = <<-END
+
+
+++++
+
+
END
emoji = ARGV[1] ? ":#{ARGV[1]}:" : ':star-wars-do-it:'
def process_str(str, emoji)
str.gsub(' ', ':empty:').gsub('+', emoji).split("\n")
end
map = {}
('A'..'Z').each do |c|
map[c] = process_str(self.class.const_get(c), emoji)
end
map[' '] = process_str(SPACE, emoji)
map['-'] = process_str(DASH, emoji)
map['+'] = process_str(PLUS, emoji)
str = ARGV[0].upcase
mappings = str.split('').map{|char| map[char] }.compact
5.times do |i|
puts mappings.map{|m| m[i] }.join(':empty:')
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment