Some of the more advanced features and plug-ins available with the Rails framework are introduced in this book. Meant for people with some experience with Ruby on Rails, this book shows how to build a sample social networking site--the RailsCoders site.
Bradburne takes an incremental approach toward building the site. The initial version is a basic application that allows one to create and edit pages. The book then shows how to add a news blog and discussion forum using the RedCloth Gem implementation of the Textile markup system. Next, the author takes the reader through the addition of a blogging service; this is implemented using the Blogger application programming interface (API) in conjunction with Rails ActiveWebService for SOAP support. The next enhancement is a photo gallery that allows users to upload photos. This feature is built using ImageMagick, RMAgick, and the attachment_fu plug-in. The last series of additions include email (using ActionMailer), friends (using the Extensible Hypertext Markup Language (XHTML) Friends Network microformat), tagging (using the acts_as_taggable_on_steroids plug-in), mashup with Google Maps and Flickr, user customizations (using Liquid Templates), and an interface for mobile devices.
I think this book succeeds in giving the reader a good appreciation of the power of the Rails framework and the wealth of resources around it. Both are important because these external resources are a major reason for the power and popularity of Ruby on Rails. Many of the features described would have been much more difficult to implement without the ability to build upon existing libraries and APIs. I think the author also did a good job in showing how one can utilize existing building blocks to get the services up and running with the least amount of effort.
The reader should be familiar with Ruby on Rails. The examples in the book are heavy on RHTML source code, but do not have a lot of conceptual material; the reader must be able to pick out the key parts of the examples from the less interesting parts. The good thing is that the example application is interesting, relevant, and has enough complexity to give one a good sense of how a relatively complex Ruby on Rails application can be built.