Ruby / Новый синтаксис хешей в Руби

в 9:44, , рубрики: gem, ruby, руби, метки: , ,

Начиная с Руби версии 1.9, появился новый синтаксис для хешей. Давайте посмотрим, как можно моментально перевести на него весь проект. То есть, если раньше мы писали нечто вот такое:
{:key => 'value', :key2 => 'value2'}

Сейчас это будет выглядеть вот так:
{key: 'value', key2: 'value2'}

Мне, лично, такое обновление очень нравится и я стараюсь использовать новый синтаксиис всегда, когда работаю с хешами в своих проектах на Руби. Некоторые проекты, над которыми я работаю в данный момент, уже имеют большое количество кода и в них синтаксис хешей все еще написан по старому. Решение, к которому я пришел, было написать конвертер, который заменит все места в которых используется старый способ работы с хешем. Таким образом, родился джем syntax_fix, который доступен на Github https://github.com/HeeL/syntax_fix. Релиз джема доступен на RubyGems https://rubygems.org/gems/syntax_fix.
Для установки джема просто запустите:
gem install syntax_fix

После успешной установки, вам будет доступна команда «syntax_fix». Вы можете сразу запустить данную команду без параметров с корневой директории вашего проекта, в результате синтаксис во всех файлах будет изменен на новый (включая вложенные файлы и директории). Вы можете воспользоваться опцией -v или --verbose чтобы скрипт был более информативным и выводил в консоли имена файлов, в которых были сделаны изменения.
Вот впринципе и все, ничего сложного. Изначально, идея была сделать джемку которая будет конвертировать не только хеши, но и лямбды, кейсы и т.д. Если вы чувствуете в себе силы чтобы добавить одну из таких фич или исправить какой-то баг в существующем коде, не стесняйтесь форкать проект на Гитхабе https://github.com/HeeL/syntax_fix

Автор: heel


* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js