As rich as the BCL classes are, there are times where a bit of functionality is just plain missing. In sticking with true object-oriented practices, Ruby makes it easy to add that functionality where it belongs.
Suppose that you are constantly turning your strings into questions. Instead of creating a Questionizer class that takes a string and manipulates it in some way, wouldn't it be nice to just store our questionizing functionality on the strings themselves? Enter the IronRuby prompt and type the following:
>>> class String
... def questionize
... self + ", eh?"
You just added a method to all String objects. Now you can use your method anywhere that you have a string object:
>>> "Nice weather".questionize
=> "Nice weather, eh?"
Now go forth and put your functionality where it clearly belongs!