Configuration as a First-Class Application Citizen
In this chapter, we go down the layered architecture and reach the Infrastructure layer; or, more precisely, the part of it responsible for application configuration. We’ll start by discussing the various ways we have, in Ruby on Rails applications, to provide configuration values and how this variety affects the code base’s maintainability.
After that, we’ll talk about different types of configuration parameters, such as settings and secrets, and why it’s important to distinguish them. Finally, we’ll demonstrate a technique for moving configuration up the architecture stack and separating the configuration model from data sources via configuration objects.
We will cover the following topics:
- Configuration sources and types
- Using domain objects to tame configuration complexity
This chapter aims to demonstrate how the object-oriented approach can help to keep application configuration...