При работе с Rails-приложениями довольно много времени я провожу в консоли. Стандартный функционал, предоставляемый IRB по умолчанию, не сказать чтобы шибко богат. Вчера нашлось у меня немного свободного времени, чтобы улучшить свое скромное житие-бытие.

Настройки IRB-консоли задаются в файле .irbrc в домашней директории пользователя. Это по сути обычный ruby-файл, в нем можно подключать различные gem-ы, добавлять методы и т.д.

Вот несколько маленьких трюков для улучшения стандартной консоли, которые мне удалось раскопать (итоговый файл конфигурации см. в конце статьи):

wirble

Добавляет посветку в стандартный вывод IRB и добавляет поддержку истории выполнения команд

awesome_print

Позволяет выводить объекты на экран в удобном формате и с подсветкой. Использование в консоли:

Rb Code
1
ap this_is_my_object

looksee

Позволяет посмотреть список методов объекта, разбитый по классам/модулям, из которых эти методы происходят. Очень удобно при исследовании внутренностей классов и модулей фреймворка при отладке или разработке плагинов. Использование в консоли:

Rb Code
1
lp this_is_my_object

Вывод лога SQL-запросов в консоль

При работе с моделями ActiveRecord все запросы к БД будут выводиться прямо на экран:

Rb Code
1
2
show_log # включаем логи
hide_log # выключаем логи

Замер скорости выполнения кода

Rb Code
1
2
time { ... }      # Код выполнится 1 раз
time(100) { ... } # Код выполнится 100 раз

Выполнение SQL-запроса

Rb Code
1
sql "SELECT count(*) FROM users"

Надо сказать, работать в консоли стало в разы удобнее.

Итоговый файл .irbrc можно взять здесь

А вы используете какие-нибудь дополнения для IRB-консоли?