Rethinking modularity in Ruby applications
Summary
The article evaluates modularity in Ruby apps, contrasting Rails Zeitwerk auto-loading with Syntropy's file-based module system. It argues for explicit dependencies and dependency injection using exports/imports and closures, highlighting benefits for testability and maintainability. It also presents a sampling of module loading and environment injection techniques to reduce global state and improve testability.