This Foreword is from our first edition

As a Ruby on Rails developer, have you ever encountered problems like slow tests, no re-usability, and some messes in codes that are not-so-easy to clean up? If you answer “Yes” to this question, this book is definitely for you. On the contrary, if your answer is “No”, you could also benefit from this book in plenty of ways such as learning a modular approach to Ruby on Rails application development, making your application more configurable, and applying techniques presented in the book to avoid the problems mentioned above all together in the future.

The writer of this book, Thibault Denizet, is a colleague of mine at AppyHotel. We are the only two Ruby on Rails developers in the company, and responsible for AppyHotel’s backend applications. One day, the business team came and asked us to make the backend modular. Knowing absolutely nothing about modularity at the time, we went into several stressful meetings with the business team, did a lot of research on the Internet, and experimented with suggestions here and there. At last, we have got it, a modular AppyHotel backend. Developing a Ruby on Rails application with a modular approach surely has pros and cons like everything else in this world. It is a decision you have to make whether or not a modular application works for your task at hand.

I have known Thibault for almost 2 years. Keen, confident, and full of energy, he is not the kind of person you find every day. When something really gets his attention, he will keep doing it. The word “addicted” could be used here appropriately, in my opinion. These days, Thibault has much interest in LEGO\textregistered{}. The way he builds them is like a Lego geek would do: building with his mind — building without any instruction provided in Lego boxes. Building Lego is not far from building modular applications. You start with the very first brick, then add another, and on and on and on. Do not stop and eventually you will have a giant robot, or a town, or even the whole world if you may.

In this book, Modular Rails, Thibault shows you how to build a Ruby on Rails application in a modular way using a mock-up of a CRM system as an example to guide you step-by-step. He also discusses about the term “modularity” and how Ruby and Rails are suitable for creating modular applications. With his beautifully creative mind, countless trials and errors, and hand-on experience in shaping AppyHotel’s modular applications, the knowledge and effort he puts into his first book here are exceptional. Entry level Ruby on Rails developers alongside with those who master Ruby on Rails would surely enjoy the book content and find it valuable. I shall certainly be recommending the book to any Ruby on Rails developers but particularly to those who suffer from monolithic application nightmare.

Panitan P.