Pry (software)
Pry is an interactive shell for the Ruby programming language. It is notable for its Smalltalk-inspired ability to start a REPL within a running program. This lets programmers debug and modify the current state of a system.
Features
Pry exposes most of its introspective capabilities using a filesystem metaphor. For example, it has a `cd` command to start interacting with a particular object, and uses `ls` to list methods and variables.
It is possible to start Pry at any point inside a running program. Due to the reflective nature of Ruby, this lets the programmer inspect the program, change its current state, or correct the source code without restarting the process.
A number of third party plugins are available for Pry, these add tighter integration with other Ruby projects, enhance the abilities of Pry itself, and make Pry available over a remote connection.
Competitors
The main competitor to Pry is IRB, a standalone interactive shell that is packaged with releases of the Ruby programming language. There are a reasonable number of third-party plugins that add features to make IRB behave more like Pry, packaged as irbtools.