Build to Last: How to design rails apps to avoid a rewrite in 5 years

Refactoring