cd
> cd Array
> ls
Array.methods: [] try_convert
Array#methods: & * + abbrev assoc at ...
> show-source
Code
> show-method Array#select
Docs
> ri Array
> ri Array#each
> cd Gem
> show-doc try_activate
Finding
> find-method each
Array#each
Array#each_index
Enumerable#each_slice
...
Editing
> edit Pry#repl
Gems
> gem-cd foo # Switch to gem's dir
> gem-install foo
> gem-list
Misc commands
> hist # History
> wtf? # Trace of recent exception
Rails
Rails console
Also consider pry-rails.
$ pry -r ./config/environment
Rails
> show-models
> show-routes
> show-middleware
ls
> ls # All
> ls -m # Methods
> ls -M # Instance methods
> ls -g # Globals
> ls -l # Local vars
> ls -c # Constants
> ls -i # Instance vars
> ls -G xx # Grey by regex
Shell integration
shell-mode adds dir to the prompt.
pry(main)> shell-mode
pry(main):/home/x $
Commands with .
are shell commands.
pry(main)> .cat hello.txt
hirb
Add the hirb gem.
> table User.all
> view User.all
> view User.all, fields: %w[id name email]
pry-rescue
Add the pry-rescue gem.
Pry::rescue {
# raise exceptions here
}
Or run:
bundle exec rescue rspec
Additional commands:
pry(main)> cd-cause
pry(main)> try-again
pry-remote
Add the pry-remote gem.
# In your code:
binding.remote_pry
# In the shell:
bundle exec pry-remote