|Design patterns in ruby||bambi||384||4.5|
|Refactoring - Ruby edition||intermediate/professional code reviewer||481||3|
|Ruby under a microscope||sensei||362||5|
|Ruby best practices||intermediate||330||5|
Design patterns in Ruby
Example of basic OO patterns. Well written for beginner rubyist with great analogy in OO world. Very shallow explanations of meta/core ruby internals, but great examples of clean code. Bonus, has a chapter dedicated to DSL, with an example.
This is much closer to Ruby than
Design patterns in Ruby is. More focused on practical issues and how to attend their needs in
Ruby way. Bonus
Refactoring - Ruby edition
This one requires a ton of patience. Book explains how to apply various refactoring techniques and (almost) never cross to red area in Red-Green-Refactor cycle. It was really hard for me to concentrate on each shown technique cause they were same amount useful as they were boring.
Ruby under a microscope
This is one of the best book ever written. The level of detail is, well microscopic. You cannot get more low level than this and in same time each higher level behavior is explained in respect to internal implementation. This book will not leave you guessing how things work it explains them and then proves it with C code implementation.
Ruby best practices
This is self-improvement book for every rubyist with a couple of years experience. Filled with code examples of idioms and methodologies, which you already seen in practice but with special review why are they so dominant over alternatives. Author was owner/maintainer of some XML builder/parser so this book provides knowledge that solves real world problems. Bonus chapter dedicated to gem/project maintenance. Bonus^2 every dozen of pages there would be a reference to context relevant thingy, sometimes article other times book, not necessarily Ruby related but great reads.
Easy to read, but hard to find projects which need that kind of knowledge.
Community accepted this one as a textbook of writing tests in ruby, and for good reason, It's everything one needs to start practicing TDD.