############################################################
#
#  Name:         den510
#  Date:         04/25/17
#  Challenge:    #312 L33tspeak
#  Description:  Translate to and from 1337
#
############################################################

$leet_dictionary = {
    'A' => '4',
    'B' => '6',
    'E' => '3',
    'L' => '1',
    'I' => '|',
    'M' => '(V)',
    'N' => '(\)',
    'O' => '0',
    'S' => '5',
    'T' => '7',
    'V' => '\/',
    'W' => '`//'
}

def muggle_to_leet(word)
  $leet_dictionary.keys.each { |key| word.gsub!(key, $leet_dictionary[key]) }
  word
end

def leet_to_muggle(word)
  $leet_dictionary.values.each { |value| word.gsub!(value, $leet_dictionary.key(value)) }
  word
end

def ez_leet(word)
  word.upcase!
  $leet_dictionary.values.each { |value| return leet_to_muggle(word) if word.include?(value.to_s) }
  muggle_to_leet(word)
end

puts ez_leet('31337')
puts ez_leet('storm')

puts ez_leet('I am elite.')
puts ez_leet('Da pain!')
puts ez_leet('Eye need help!')
puts ez_leet('3Y3 (\)33d j00 t0 g37 d4 d0c70r.')
puts ez_leet('| n33d m4 p|llz!')