Refactoring Towards Component-based Rails Architectures
summary
Argues that large Rails apps get manageable by extracting verticals into namespaced, testable components: use mountable engine and local gems as packaging, keep one repo and one deploy, run RSpec and Jasmine per component so tests load only that code. Notes surprising scales — open‑source apps up to ~400k LOC, projects with six+ engines, teams creating ~a component a day — and shows the common failure: a huge user model attracting unrelated behavior. The approach reduces interdependence and proves practical.
AI-written summary · about
chapters (7)
- 0:00Start
- 26:37Namespace controllers, views, and models
- 27:12Hunt down other dependencies
- 27:24Move all namespaced code into an engine
- 27:41Step 3. PROFIT
- 29:08Find functional component
- 29:54Add shims/ports/adapters to make the app happy
related talks
32mComponent-based Architectures in Ruby and Rails
35mWrangling Large Rails Codebases
01h 28mGet started with Component-based Rails applications!
34m"Taming your Rails monolith"
41mMorning Keynote
40mMonoliths Between Microservices
32mHow I architected my big Rails app for success!
26mKeeping the Rails Magic Alive After 18 Years
