Spending hours in the rails console? Spruce it up and show off those hard-working hands!
jazz_hands is an opinionated set of console-related gems and a bit of glue:
- Pry for a powerful shell alternative to IRB.
- Awesome Print for stylish pretty print.
- Hirb for tabular collection output.
Pry Rails for additional commands (
show-middleware) in the Rails console.
- Pry Doc to browse Ruby source, including C, directly from the console.
- Pry Git to teach the console about git. Diffs, blames, and commits on methods and classes, not just files.
- Pry Remote to connect remotely to a Pry console.
- Pry Debugger to turn the console into a simple debugger.
- Pry Stack Explorer to navigate the call stack and frames.
- Coolline and Coderay for syntax highlighting as you type. Optional. MRI 1.9.3/2.0.0 only
Ruby 1.9.2+, Rails 3 or 4 only. Add to your project Gemfile:
group :development, :test do gem 'jazz_hands' end
That's it. Run
rails console as usual.
Hirb isn't enabled by default. To use, run
Hirb.enable in the console.
Ruby compiled against a proper readline library, ideally GNU readline, is
gem install rb-readline for an
acceptible backup. Using ruby compiled against a
libedit wrapper (primarily OS
X) will work but is not recommended.
Change the following options by creating an initializer in your Rails project
if defined?(JazzHands) JazzHands.colored_prompt = false JazzHands.enable_syntax_highlighting_as_you_type! end
Color the console prompt? Defaults to
true when the current ruby is compiled
against GNU readline or
rb-readline, which don't have issues counting
characters in colored prompts.
false for libedit.
Pry.color = false trumps this setting and disables all console coloring.
Separator string between the application name and line input. Defaults to
for GNU readline or libedit. Defaults to
rb-readline which fails on
Syntax highlighting as you type via Coolline and Coderay
is disabled by default due to slightly buggy behavior. To enable, add
JazzHands.enable_syntax_highlighting_as_you_type! to the initializer. Only
works with MRI 1.9.3 or 2.0.0.