This is the complete text of Objects on Rails, a "developer's notebook" documenting some guidelines, techniques, and ideas for applying classic object-oriented thought to Ruby on Rails applications. This book is aimed at the working Rails developer who is looking to grow and evolve Rails projects while keeping them flexible, maintainable, and robust. The focus is on pragmatic solutions which tread a "middle way" between the expedience of the Rails "golden path", and rigid OO purity.
I'm Avdi Grimm. I've been doing large-scale object-oriented software development my entire programming career, first in aerospace and networking systems, and later on for web applications. I've been hacking in Ruby for over a decade, and I still love how fun and effortless it makes the job of building programs out of objects. I've spoken at a few conferences about Ruby code construction, I'm a co-host of the Ruby Rogues podcast, and I blog about software at Virtuous Code. If you like, you can follow me on Twitter.
I'm also a freelance consultant working with the Code Benders collective. If you have a software project and you want to move fast without sacrificing quality, you should get in touch with us.