module RussianKeyboard

Constants

ENGLISH_KEYS
RUSSIAN_KEYS

Public Class Methods

auto_switch(str) click to toggle source
# File lib/russian_keyboard.rb, line 14
def auto_switch str
  case gues_keymap(str)
  when 'en'.freeze
    to_ru(str)
  when 'ru'.freeze
    to_en(str)
  else
    to_ru(str)
  end
end
gues_keymap(str) click to toggle source
# File lib/russian_keyboard.rb, line 25
def gues_keymap str
  en_count = str.scan(/A-Z{1}/i).size
  ru_count = str.scan(/\p{Cyrillic}{1}/i).size

  return en_count >= ru_count ? 'en'.freeze : 'ru'.freeze
end
to_en(str) click to toggle source
# File lib/russian_keyboard.rb, line 10
def to_en str
  str.tr(RUSSIAN_KEYS, ENGLISH_KEYS)
end
to_ru(str) click to toggle source
# File lib/russian_keyboard.rb, line 6
def to_ru str
  str.tr(ENGLISH_KEYS, RUSSIAN_KEYS)
end