Pry to zaawansowana konsola deweloperska i alternatywa dla IRB w Ruby, oferująca przeglądanie kodu źródłowego i kolorowanie składni.
Podstawowa nawigacja i zmiana kontekstu
# Zmiana zakresu na obiekt lub klasę (jak nawigacja po katalogach)
[1] pry(main)> cd Array
[2] pry(Array):1> cd- ..
[3] pry(main)> cd User.first
# Sprawdzenie bieżącej głębokości zagnieżdżenia
[4] pry(User):2> nesting
Introspekcja kodu i dokumentacji
# Wyświetlanie kodu źródłowego metody bezpośrednio w konsoli
show-source Array#select
show-source User#full_name
# Wyświetlanie dokumentacji YARD / RDoc dla metody
show-doc Array#compact
# Wyszukiwanie metod pasujących do zapytania
find-method each
Inspekcja zmiennych i metod (ls)
ls # Lista metod, zmiennych lokalnych i zmiennych instancji
ls -m # Lista metod instancji zdefiniowanych na bieżącym obiekcie
ls -M # Lista metod klasowych
ls -l # Lista zmiennych lokalnych
ls -i # Lista zmiennych instancji (@vars)
ls -c # Lista stałych w bieżącym zakresie
ls -G regex # Filtrowanie wyników wyrażeniem regularnym
Debugowanie w trakcie sesji
# Przejście do Pry z dowolnego miejsca w kodzie Ruby
require 'pry'
binding.pry
wtf?: Wypisuje backtrace ostatniego wyjątku.hist: Wyświetla historię wprowadzonych poleceń.edit Object#method: Otwiera definicję metody w skonfigurowanym edytorze$EDITOR.
Integracja z Rails (pry-rails)
Dodaj pry-rails do pliku Gemfile:
group :development, :test do
gem 'pry-rails'
end
W konsoli rails console:
show-models # Wyświetlenie schematów bazodanowych i relacji
show-routes # Wyświetlenie tabeli tras (routing table)
show-middleware # Wyświetlenie stosu middleware Rack