Pry — это мощная консоль разработчика и альтернатива IRB для Ruby с просмотром исходного кода и подсветкой синтаксиса.
Базовая навигация и смена контекста
# Смена контекста на объект или класс (как навигация по папкам)
[1] pry(main)> cd Array
[2] pry(Array):1> cd- ..
[3] pry(main)> cd User.first
# Проверка текущей глубины вложенности
[4] pry(User):2> nesting
Интроспекция кода и документации
# Просмотр исходного кода метода прямо в консоли
show-source Array#select
show-source User#full_name
# Просмотр документации YARD / RDoc для метода
show-doc Array#compact
# Поиск методов по имени
find-method each
Просмотр переменных и методов (ls)
ls # Список методов, локальных и инстанс-переменных
ls -m # Список методов экземпляра текущего объекта
ls -M # Список методов текущего класса
ls -l # Список локальных переменных
ls -i # Список переменных экземпляра (@vars)
ls -c # Список констант в области видимости
ls -G regex # Фильтрация вывода по регулярному выражению
Отладка в текущей сессии
# Точка останова и вызов Pry из любого места кода Ruby
require 'pry'
binding.pry
wtf?: Выводит трассировку стека (backtrace) последнего исключения.hist: Отображает историю введенных команд.edit Object#method: Открывает файл с определением метода в$EDITOR.
Интеграция с Rails (pry-rails)
Добавьте pry-rails в ваш Gemfile:
group :development, :test do
gem 'pry-rails'
end
В консоли rails console:
show-models # Показывает схемы баз данных и связи моделей
show-routes # Показывает таблицу маршрутов
show-middleware # Показывает стек middleware Rack