Szybka pomoc

Ściągawka z REPL Pry w Ruby

Szybki przewodnik po Pry: zaawansowana konsola deweloperska w Ruby, introspekcja, inspekcja kodu źródłowego i debugowanie w Rails.

· Opublikowano

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

Materiały referencyjne

Powiązane tematy