Summary
In this chapter, you familiarized yourself with the infrastructure layer of a Rails application and its diversity. You learned how Rails uses abstractions to keep the framework and applications built with it less dependent on implementations.
You learned about different visibility concepts, such as logging, exception tracking, and monitoring, and how to implement them in Rails without making the code base highly coupled with the implementation of the corresponding service. You learned through examples when it’s worth extracting low-level functionality into separate services and how well-designed abstractions make the process of extraction smooth.
This chapter finishes our journey through abstraction layers in a Rails application. We started by learning about the framework itself, the ideas, and the design techniques behind it. Then, we spiced up this knowledge with the layered architecture concept to come up with the final recipe – introducing abstraction...