Even in an object-oriented language such as Ruby, there are many ways to write code. Some code styles are more in the spirit of OO than others. In this talk, veteran Ruby developer Jim Gay describes his theory of OO programming, in which we issue commands, rather than querying objects about their state. This leads, Gay says, to code that is easier to understand, debug, and maintain. If you’re looking for ways to make your Ruby (or other OO) code clearer and more obviously intentioned, this code will likely give you some insights.