Pry ist eine leistungsstarke Entwicklerkonsole zur Laufzeit und IRB-Alternative für Ruby mit Quellcode-Browsing und Syntax-Highlighting.
Grundlegende Navigation & Kontextwechsel
# Gültigkeitsbereich in ein Objekt oder eine Klasse ändern (wie Verzeichnisnavigation)
[1] pry(main)> cd Array
[2] pry(Array):1> cd- ..
[3] pry(main)> cd User.first
# Aktuelle Schachtelungstiefe prüfen
[4] pry(User):2> nesting
Code- & Dokumentations-Introspektion
# Quellcode einer Methode direkt in der Konsole anzeigen
show-source Array#select
show-source User#full_name
# YARD / RDoc-Dokumentation für eine Methode anzeigen
show-doc Array#compact
# Nach Methoden suchen, die einer Abfrage entsprechen
find-method each
Variablen & Methoden inspizieren (ls)
ls # Methoden, lokale und Instanzvariablen auflisten
ls -m # Instanzmethoden des aktuellen Objekts auflisten
ls -M # Klassenmethoden der aktuellen Klasse auflisten
ls -l # Lokale Variablen auflisten
ls -i # Instanzvariablen (@vars) auflisten
ls -c # Im Scope definierte Konstanten auflisten
ls -G regex # Ausgabe mit regulärem Ausdruck filtern
In-Session Debugging
# Von beliebiger Stelle im Ruby-Code in Pry springen
require 'pry'
binding.pry
wtf?: Stacktrace der jüngsten Exception ausgeben.hist: Eingabeverlauf anzeigen.edit Object#method: Methodendefinition direkt im konfigurierten$EDITORöffnen.
Rails-Integration (pry-rails)
pry-rails zum Gemfile hinzufügen:
group :development, :test do
gem 'pry-rails'
end
In der rails console:
show-models # Alle Datenbankschemata und Assoziationen ausgeben
show-routes # Routing-Tabelle anzeigen
show-middleware # Rack-Middleware-Stack anzeigen