Eloquent Ruby (Addison-Wesley Professional Ruby Series)
Practical Object-Oriented Design in Ruby: An Agile Primer (Addison-Wesley Professional Ruby Series)
amazon.comGrowing Object-Oriented Software, Guided by Tests (Addison-Wesley Signature Series (Beck))
amazon.comRuby sees all data structures and values—from simple scalar (atomic) values like integers and strings, to complex data structures like arrays—as objects. Every object is capable of understanding a certain set of messages. Each message that an object understands corresponds directly to a method—a named, executable routine whose execution the object
... See moreJoe Leo • The Well-Grounded Rubyist
Classes are important in Ruby; they’re a way to bundle and label behaviors (you can have a Person class, a Task class, and so on) and to create multiple objects with similar behaviors easily. But—and in this respect, Ruby differs from some other object-oriented languages—the real action is with the individual objects: every object has the potential
... See moreJoe Leo • The Well-Grounded Rubyist
The ability of objects to adopt behaviors that their class didn’t give them is one of the most central defining principles of the design of Ruby as a language.
Joe Leo • The Well-Grounded Rubyist
Ruby is an object-oriented language,
Joe Leo • The Well-Grounded Rubyist
This chapter will introduce you to a Ruby construct that’s closely related to classes: modules. As their name suggests, modules encourage modular design: program design that breaks large components into smaller ones and lets you mix and match object behaviors.