While we're on the topic, I once wrote a little something along these
lines. I don't think it was terribly well received (and my German sucks)
so I put it on hold.

See http://ruby-talk.org//74695


Cheers,
Hal