Spect is a (nascent) suite
for declaring and checking expectations
(eg, of variable and method use) in Ruby.
It attempts to perform (among other things) the kinds of checks made
by compilers and interpreters of statically-typed languages.
It uses metaprogramming and (if need be) interpreter modification
to overcome some of the difficulties
posed by Ruby's dynamic nature.