A full writeup on what ripper-plus is, and why you should use it, can be found at this blog post.
:zcall nodes):error nodes so they can be discovered easily and with minimal effort while walking the ASTRuby 1.9 only.
require 'ripper-plus' # Returns an AST from Ripper, modified as described below RipperPlus.sexp(any_input_object_Ripper_accepts) # Transforms a Ripper AST into a RipperPlus AST, as described below RipperPlus.for_ripper_ast(some_ripper_ast) # Transforms a Ripper AST into a RipperPlus AST, in-place RipperPlus.for_ripper_ast(some_ripper_ast, :in_place => true)
gem install ripper-plus