Reading this book is like being trapped in an all-day team building exercise.
There's a lot of good information, but you'll have to skim through a lot of bad dialog to find it. For reasons I can't understand, the book superglues you to an annoying and badly-written "programming buddy" named Bill, and way too much of what the book has to teach is buried in his dialog. A third of the book could be pruned by nixing Bill, and the book would be more understandable and less painful to read as a result.
Entire chapters are spent on topics that could be dispensed with in a few paragraphs and the beginning of the book lingers on information that an intermediate programmer would already know. But the strange dialog style buries information so it's difficult to skim or skip. This improves towards the end.
The following quote is an example of what you're in for:
"Forget about method_missing() for now -- we'll get to that this afternoon. To introduce Dynamic Methods, allow me to tell you a story from my youth," he says. "When I was a young developer learning C++", Bill muses, "my mentors told me that when you call a method, you're actually sending a message to an object. It took me a while to get used to that concept. Of course, if I'd been using Ruby back then, that notion of sending messages would have come more naturally to me." Bill launches into a mini-presentation.
A few sentences later comes this: "'Wait a minute,' you interject. 'Why on Earth would I use send() instead of the plain old dot notation?'"
Why on Earth, indeed.
It's condescending, wrong-headed, distracting and agonizing. The concept is very badly suited to the subject matter and that's a shame; the author obviously knows the material and the book could have been excellent. But for some reason, someone decided the book would use a tone usually reserved for explaining rules to slow children. I suspect the book's trying to mimic Why's Poignant Guide to Ruby, which is a horrible trend I see creeping into other Ruby books.
Criticism aside, this is the best book I've found on the topic to date. Bring a highlighter with you and try to ignore Bill. This is the best you'll find for the moment.