O Pry é um console de desenvolvimento em tempo de execução e alternativa ao IRB para Ruby.
Navegação Básica e Mudança de Contexto
# Mudar o escopo para um objeto ou classe (como navegar em diretórios)
[1] pry(main)> cd Array
[2] pry(Array):1> cd- ..
[3] pry(main)> cd User.first
# Verificar profundidade de aninhamento atual
[4] pry(User):2> nesting
Introspecção de Código e Documentação
# Visualizar o código-fonte de um método no console
show-source Array#select
show-source User#full_name
# Visualizar documentação YARD / RDoc de um método
show-doc Array#compact
# Procurar métodos que correspondam a uma busca
find-method each
Inspecionando Variáveis e Métodos (ls)
ls # Listar métodos, variáveis locais e de instância
ls -m # Listar métodos de instância do objeto atual
ls -M # Listar métodos de classe definidos na classe atual
ls -l # Listar variáveis locais
ls -i # Listar variáveis de instância (@vars)
ls -c # Listar constantes definidas no escopo
ls -G regex # Filtrar saída com expressão regular
Depuração na Sessão
# Entrar no Pry a partir de qualquer ponto do código Ruby
require 'pry'
binding.pry
wtf?: Exibe o rastreamento de pilha (backtrace) da exceção mais recente.hist: Exibe o histórico de comandos.edit Object#method: Abre a definição do método diretamente no$EDITORconfigurado.
Integração com Rails (pry-rails)
Adicione pry-rails ao seu Gemfile:
group :development, :test do
gem 'pry-rails'
end
No rails console:
show-models # Exibe esquemas de banco de dados e associações
show-routes # Exibe tabela de rotas
show-middleware # Exibe a pilha de middlewares do Rack