При работе с Rails-приложениями довольно много времени я провожу в консоли. Стандартный функционал, предоставляемый IRB по умолчанию, не сказать чтобы шибко богат. Вчера нашлось у меня немного свободного времени, чтобы улучшить свое скромное житие-бытие.
Настройки IRB-консоли задаются в файле .irbrc в домашней директории пользователя. Это по сути обычный ruby-файл, в нем можно подключать различные gem-ы, добавлять методы и т.д.
Вот несколько маленьких трюков для улучшения стандартной консоли, которые мне удалось раскопать (итоговый файл конфигурации см. в конце статьи):
- wirble – добавляет посветку в стандартный вывод IRB и добавляет поддержку истории выполнения команд
- awesome_print – позволяет выводить объекты на экран в удобном формате и с подсветкой. Использование в консоли:
ap this_is_my_object
- looksee – позволяет посмотреть список методов объекта, разбитый по классам/модулям, из которых эти методы происходят. Очень удобно при исследовании внутренностей классов и модулей фреймворка при отладке или разработке плагинов. Использование в консоли:
lp this_is_my_object
- Вывод лога SQL-запросов в консоль – при работе с моделями
ActiveRecordвсе запросы к БД будут выводиться прямо на экран:show_log # включаем логи hide_log # выключаем логи
- Замер скорости выполнения кода:
time { ... } # Код выполнится 1 раз time(100) { ... } # Код выполнится 100 раз
- Выполнение SQL-запроса:
sql "SELECT count(*) FROM users"
Надо сказать, работать в консоли стало в разы удобнее.
Итоговый файл .irbrc можно взять здесь
А вы используете какие-нибудь дополнения для IRB-консоли?
