7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
|
# File 'lib/ermahgerd.rb', line 7
def self.translate_word(word)
return word if word.size == 1
dictionary = {
'AWESOME' => 'ERSUM',
'BANANA' => 'BERNERNER',
'BAYOU' => 'BERU',
'FAVORITE' => 'FRAVRIT',
'FAVOURITE' => 'FRAVRIT',
'GOOSEBUMPS' => 'GERSBERMS',
'LONG' => 'LERNG',
'MY' => 'MAH',
'THE' => 'DA',
'THEY' => 'DEY',
'WE\'RE' => 'WER',
'YOU' => 'U',
'YOU\'RE' => 'YER'
}
return dictionary[word] if dictionary.key? word
original_word = word
word.sub!(/[AEIOU]$/, '') if original_word.size > 2
word.gsub!(/[^\w]|(.)(?=\1)/, '')
word.gsub!(/[AEIOUY]{2,}/, 'E')
word.gsub!(/OW/, 'ER')
word.gsub!(/AKES/, 'ERKS')
word.gsub!(/[AEIOUY]/, 'ER')
word.gsub!(/ERH/, 'ER')
word.gsub!(/MER/, 'MAH')
word.gsub!('ERNG', 'IN')
word.gsub!('ERPERD', 'ERPED')
word.gsub!('MAHM', 'MERM')
word = 'Y' + word if original_word[0] == 'Y'
word.gsub!(/[^\w]|(.)(?=\1)/, '')
if original_word.end_with?('LOW') && word.end_with?('LER')
word.sub!(/LER$/, 'LO')
end
return word
end
|