Path: History.txt
Last Update: Sun Aug 23 21:10:03 +1000 2009


  • Changed internal structure to use a more pure visitor like pattern.
  • Got much faster as a result of the change.
  • Design change fixed ‘feature’ where nested blocks would all get listed if the inner one exceeded complexity.
  • Outline for NPath complexity check is now possible. Not working yet though.
  • Removed dependency on facets library.


  • Upgraded from ParseTree to ruby_parser.


  • Fixed a bug in the rake task where it always failed even if no errors existed.


  • Added nil as a valid response for an empty rescue block


  • Fixed bug in rake task


  • Minor cleanup


  • Added a rake task


  • wrapped errors in an object to become more usable as an API.


  • added case missing else check.
  • updated checks to take a hash of options with built-in defaults.
  • added support for complete configuration via external file.
  • added support for passing in a custom config file via ‘roodi -config= [pattern]’
  • added assignment in conditional check.
  • refactored checks to remove duplicate code.


  • added module name check.
  • added parameter number check.
  • added module line count check.
  • added class line count check.


  • I‘d initially published to Rubyforge under a 1.0.0 gem, and I‘ve since tried to retrospectively fix up the version number system. It turns out that Rubyforge caches old gems permanently, so I have to re-start at a larger number again.
  • class name check no longer gets confused about scoped class names like Module::Classname.


  • expanded regex matching for method name check.
  • suppressed noisy output from ParseTree using facets API.
  • updated dependencies and version as a result of facets change.
  • made Roodi tolerant of being asked to parse files which aren‘t really Ruby files.
  • updated the documentation with usage examples.


  • Added support back in for line numbers in error messages.
  • Re-enabled MethodLineCountCheck as part of the default check set.


  • First version of Roodi to be published to Rubyforge.


  • Now use ParseTree instead of JRuby, which makes the tool much more accessible.
  • Removed MagicNumberCheck
  • Line numbers no longer supported as a result of the move.


  • A first version of a design checking tool for Ruby, with a few checks built in to get started.