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