# File lib/russian/transliteration.rb, line 51 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