Never mind. I took a guess that there might be a special variable that tracks what files have been loaded. There is; it's $". So, by deleting the particular file from $", I was able to force Ruby to re-load the file and everything worked just fine. What's even nicer is that the objects that were created maintained their definitions even after re-loading. Only new objects created had the new definition, which is how I'd like it to be. As usual, Ruby's approach is just so neat and there were no surprises :-) !!