Pry est une console de développement puissante et une alternative moderne à IRB pour Ruby.
Navigation de base & Changement de contexte
# Changer de portée dans un objet ou une classe (comme changer de dossier)
[1] pry(main)> cd Array
[2] pry(Array):1> cd- ..
[3] pry(main)> cd User.first
# Vérifier la profondeur d'imbrication actuelle
[4] pry(User):2> nesting
Introspection de code & de documentation
# Afficher le code source d'une méthode dans la console
show-source Array#select
show-source User#full_name
# Afficher la documentation YARD / RDoc d'une méthode
show-doc Array#compact
# Chercher des méthodes correspondant à une requête
find-method each
Inspection des variables & méthodes (ls)
ls # Lister méthodes, variables locales et d'instance
ls -m # Lister les méthodes d'instance de l'objet courant
ls -M # Lister les méthodes de classe définies
ls -l # Lister les variables locales
ls -i # Lister les variables d'instance (@vars)
ls -c # Lister les constantes définies
ls -G regex # Filtrer la sortie par expression régulière
Débogage en session
# Basculer dans Pry depuis n'importe quel code Ruby
require 'pry'
binding.pry
wtf?: Affiche la trace d'appels de l'exception la plus récente.hist: Affiche l'historique des entrées.edit Object#method: Ouvre la définition de la méthode directement dans votre$EDITOR.
Intégration Rails (pry-rails)
Ajouter pry-rails à votre Gemfile :
group :development, :test do
gem 'pry-rails'
end
Dans la rails console :
show-models # Affiche tous les schémas de base de données et relations
show-routes # Affiche la table de routage
show-middleware # Affiche la pile de middlewares Rack