def transliterate(str)
      chars = str.scan(%r{#{MULTI_KEYS.join '|'}|\w|.})

      result = ""

      chars.each_with_index do |char, index|
        if UPPER.has_key?(char) && LOWER.has_key?(chars[index+1])
          # combined case
          result << UPPER[char].downcase.capitalize
        elsif UPPER.has_key?(char)
          result << UPPER[char]
        elsif LOWER.has_key?(char)
          result << LOWER[char]
        else
          result << char
        end
      end

      result
    end
def transliterate(str)
      chars = str.scan(%r{#{MULTI_KEYS.join '|'}|\w|.})

      result = ""

      chars.each_with_index do |char, index|
        if UPPER.has_key?(char) && LOWER.has_key?(chars[index+1])
          # combined case
          result << UPPER[char].downcase.capitalize
        elsif UPPER.has_key?(char)
          result << UPPER[char]
        elsif LOWER.has_key?(char)
          result << LOWER[char]
        else
          result << char
        end
      end

      result
    end
Transliterate a string with russian characters

 Возвращает строку, в которой все буквы русского алфавита заменены на похожую по звучанию латиницу