Генерация красивой ссылки при помощи Ruby gem 'translit'

Для быстрой транслитерации между кириллицей и латиницей не выходя из терминала - можно использовать gem 'translit'.

Процесс установки библиотеки стандартный:

gem install translit

Чтобы начать работу с библиотекой, необходимо открыть в терминале Interactive Ruby Shell (irb). Команда для запуска:

irb

Далее мы должны подключить библиотеку:

require 'translit'

Создадим переменную 'cyr_string':

cyr_string = "Генерация красивой ссылки при помощи Ruby gem 'translit'"

Начинаем конвертацию кириллической строки в латиницу при помощи методов из библиотеки 'translit':

result = Translit.convert(cyr_string, :english)

Полученный результат:

=> "Generaciq krasiwoj ssylki pri pomoschi Ruby gem 'translit'"

Конвертация кириллической строки в латинскую закончена. Далее приведем полученый результат к виду ссылки.

Сначала уберем спецсимволы и поменяем буквам верхний регистр на нижний:

result = result.downcase.gsub /\W+/, ' '

Полученный результат:

=> "generaciq krasiwoj ssylki pri pomoschi ruby gem translit "

Прежде чем заменить все пробелы на дефис, уберем ненужный пробел в конце нашей строки при помощи метода 'strip' (хотя зная, что у нас лишний пробел справа - можно использовать 'rstrip'):

result.strip!

И наконец, заменим все пробелы на символ дефиса:

result.tr(" ", "-")

Результат:

=> "generaciq-krasiwoj-ssylki-pri-pomoschi-ruby-gem-translit"

Прошу отметить, что библиотека 'translit' не обновлялась последние несколько лет и имеет довольно ограниченный функционал. Например, не хватает выбора стандарта транслитерации и поддержки других языков. Также транлитерация буквы 'я' в 'q' не сделает ссылки сайта более читабельными.

Учитывая эти факты - лучше отказаться от использования этой библиотеки в рабочем проекте и изучить форки на наличие обновлений функционала и багфиксов, либо использовать альтернативу.

Ссылки: RubyGems, GitHub, Форки на GitHub