Rails as a framework is famous for helping you get your application up and running quickly, but the very paradigms that make it so easy at the start can lead to maintenance nightmares down the road. Successful applications grow rapidly larger, more complex, and harder to extend and maintain.
One way to approach refactoring a monolithic application is dividing it up into a series of smaller applications that organize the work of the system through internal APIs. Faceted is a new Ruby gem that makes it easy to build these APIs using a flexible, declarative, and opinionated set of modules. In this presentation you will be introduced to Faceted, see examples of how to use it, and get a glimpse of the guiding philosophy behind the API-driven refactoring philosophy.