🕷 zenspider.com

by ryan davis

Looking for the Ruby Quickref?

OOPS! I released again!

Published 2007-01-19 @ 15:09

Tagged Seattle.rb, parsetree, rails, ruby, rubysadism, zentest

I totally forgot to blog this!

ParseTree version 1.6.4 has been released!


ParseTree is a C extension (using RubyInline) that extracts the parse tree for an entire class or a specific method and returns it as a s-expression (aka sexp) using ruby’s arrays, strings, symbols, and integers.

  • 1 minor enhancement:
    • Switched short if/unless to 1 line expressions.
  • 2 bug fixes:
    • Fixed the nested case/when bug. YAY!
    • Added dasgn_curr and defn_rescue test cases.

ruby2ruby version 1.1.4 has been released!


ruby2ruby provides a means of generating pure ruby code easily from ParseTree’s Sexps. This makes making dynamic language processors much easier in ruby than ever before.


  • 4 minor enhancements:
    • Added some extra rewriting code and tests for various bmethods.
    • Added support for splatted block args.
    • Refactored class/module and dsym/dstr.
    • Short if/unless statements are now post-conditional expressions.
  • 4 bug fixes:
    • Finally fixed eric’s nebulous proc code-in-goalposts bug.
    • Fixed dasgn_curr so block’s dasgn vars decl goes away (bug 7420).
    • Fixed dmethod. I think the tests were bogus before.
    • Fixed improper end in method rescues (bug 7396).

heckle version 1.2.0 has been released!

http://www.rubyforge.org/projects/seattlerb by Ryan Davis and Kevin Clark

This one is huge. Heckle is turning into the test tool I always wanted for ruby.

Heckle is a mutation tester. It modifies your code and runs your
tests to make sure they fail. The idea is that if code can be changed
and your tests don’t notice, either that code isn’t being covered or
it doesn’t do anything.

  • 2 major enhancements:
    • Timeout for tests set dynamically and overridable with -T
    • Class method support with “self.method_name”
  • 3 minor enhancements:
    • -b allows heckling of branches only
    • Restructured class heirarchy and got rid of Base and others.
    • Revamped the tests and reduced size by 60%.
  • 1 bug fix:
    • Fixed the infinite loop caused by syntax errors