Title: The Ruby Way
Authors: Hal Fulton
Publisher: Addison-Wesley Professional
Publication date: November 4, 2006
Edition: 2nd Edition
Ruby is best described as an object-oriented language, and is very similar to Smalltalk. Overall, the book is well written and contains useful examples throughout.
However, I feel the first point worth stating is that if you're new to Ruby then this book is not for you. Whilst it does cover Ruby in depth, it is aimed at the developer who has already mastered the basics of the Ruby language. Although readers who are familiar with Object orientated development may be able to grasp the concepts described in the first chapter, there are a number of alternative books that better suit the beginner.
That said, this is a highly comprehensive book. Each section is broken down into logical sections with detailed explanation and code examples, allowing the reader to develop code while they make their way through the book. Each chapter breaks down the core libraries into manageable sections starting with strings, regular expressions, time functions and progressing on to other, more complex areas such as threads, socket programming and distribution of code.
The book seems to lack depth in the basic areas of Ruby development, my main complaint being that structure and syntax are not covered sufficiently for the beginner. Some readers may be able to "read around" this subject, using tutorials or another beginner's guide, however, this defeats the point of buying a book that suggests it is suitable for beginners.
Section 1.5 (training your intuition) is, without a doubt, the section most readers will find beneficial. Providing an easy layout covering syntax issues, case conditions and a useful section relating to "rubyisms", such as differences between subclasses / inheritance and the "singleton" classes and iteration within Ruby. This section includes a vast amount of code examples allowing the user to flick straight to it in order to get real world examples.
I would recommend this book only if you were planning to purchase 2 or 3 beginner books. As an insight into the various libraries and books the book works very well, helping the user quickly grasp the concepts. Rating of this book needs to be performed from two perspectives: The "Ruby newbie" and "Ruby beginner".
Whilst most OOP developers would be able to pick up this book and use it to learn, newcomers would definitely find this hard going. I would recommend “Programming Ruby: The Pragmatic Programmer's Guide, Second Edition” for new developers and OOP developers with no Ruby exposure.
This book will serve as a good reference point throughout your Ruby development lifetime, and you will find yourself referring to it time and time again. Teaching you Ruby one concept at a time helps the beginner grasp the basics without having to delve into chapters of "Hello World" based applications.