Design Patterns in Ruby (Addison-Wesley Professional Ruby Series)
Go read this book. It will make you a better Rubyist.
Some high level lessons learned:
* Since Ruby is a dynamic language, the "traditional" patterns need to
be applied differently, or, in some cases, not at all.
* Understanding when to (or not to) apply patterns is what makes you an expert.
* Recognizing a pattern in the wild is just as important as knowing a pattern.