Understanding the Ruby object model