Spaghetti Model Part 5: Safely Remove ActiveSupport Concerns
Note: This is one part of my journey to tame a spaghetti model or god object. Start with Post 1: Unraveling a Spaghetti Model to see how I…
Note: This is one part of my journey to tame a spaghetti model or god object. Start with Post 1: Unraveling a Spaghetti Model to see how I…
Note: This is one part of my journey to tame a spaghetti model or god object. Start with Post 1: Unraveling a Spaghetti Model to see how I chose to tackle this problem. In your journey to detangle a…
This blog tackles the challenges of a cluttered company model, offering strategies to simplify through dead code removal, inline wrapper method elimination, extracting new public APIs, and adopting value objects. Real-world examples guide developers through these pragmatic refactoring techniques
Note: This is one part of my journey to tame a spaghetti model or god object. Start with Post 1: Unraveling a Spaghetti Model to see how I chose to tackle this problem. Your spaghetti model has been…
In many established Ruby on Rails applications, there are often a couple of classes that become entangled with the rest of the code base. These early models start small and simple, possibly present…
A How-to Guide to Ruby Packs, Gusto's Gem Ecosystem for Modularizing Ruby Applications
This was Gusto's system graph. Each of the black rectangles you see here is a subsystem within Gusto's biggest Rails monolith, and the red arrows are where one subsystem talks to another. As our
Imagine you have a Rails monolith and want to add new functionality. Your options are to 1) continue adding to the monolith, or 2) create a new service. Which do you choose? What if there’s a third