Pry es una potente consola de desarrollo en tiempo de ejecución y alternativa a IRB para Ruby.
Navegación Básica y Cambio de Contexto
# Cambiar de ámbito a un objeto o clase (como navegar por carpetas)
[1] pry(main)> cd Array
[2] pry(Array):1> cd- ..
[3] pry(main)> cd User.first
# Comprobar la profundidad de anidamiento actual
[4] pry(User):2> nesting
Introspección de Código y Documentación
# Ver código fuente de un método directamente en la consola
show-source Array#select
show-source User#full_name
# Ver documentación YARD / RDoc de un método
show-doc Array#compact
# Buscar métodos que coincidan con una consulta
find-method each
Inspección de Variables y Métodos (ls)
ls # Listar métodos, variables locales e instancias
ls -m # Listar métodos de instancia del objeto actual
ls -M # Listar métodos de clase definidos en la clase actual
ls -l # Listar variables locales
ls -i # Listar variables de instancia (@vars)
ls -c # Listar constantes definidas en el ámbito
ls -G regex # Filtrar salida con expresiones regulares
Depuración en Sesión
# Entrar en Pry desde cualquier punto del código Ruby
require 'pry'
binding.pry
wtf?: Imprime el rastreo de pila (backtrace) de la excepción más reciente.hist: Muestra el historial de comandos introducidos.edit Object#method: Abre la definición del método directamente en tu$EDITOR.
Integración con Rails (pry-rails)
Añadir pry-rails a tu Gemfile:
group :development, :test do
gem 'pry-rails'
end
En rails console:
show-models # Imprime todos los esquemas de base de datos y relaciones
show-routes # Imprime la tabla de enrutamiento
show-middleware # Imprime la pila de middleware de Rack