One thing I forgot to ask...
Why does this work on its own but it breaks in Ramaze? Is something
causing some kind of a name clash or does it have to do with how
Ramaze loads things or what?
Both my IRB and Ramaze's console were running in Ruby 1.9 so the issue
seems to be a mixture of Ramaze and 1.9, but it can't be blamed
entirely on 1.9 because the code works when I'm not in Ramaze.