A How-to Guide to Ruby Packs, Gusto's Gem Ecosystem for Modularizing Ruby Applications
A How-to Guide to Ruby Packs, Gusto's Gem Ecosystem for Modularizing Ruby Applications
A How-to Guide to Ruby Packs, Gusto's Gem Ecosystem for Modularizing Ruby Applications
Over the past year at Gusto, we’ve drastically changed how we approach Sidekiq in our main Rails monolith. This post dives in.
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 business grew, folks started
Upgrading Rails can often be difficult and risky! I'll be walking through the process my team took to safely upgrade to Rails 7.0. While this is going to be relatively Rails and Ruby specific, I hope you can take away something for software you are upgrading.
In this post, we'll look at what problems these non-atomic actions pose and walk through a few examples of how to fix them. We'll also cover isolator, a gem that helps us detect these non-atomic violations.
My team recently embarked on a journey toward unbundling our part of Gusto’s monolithic Ruby on Rails app. A monolithic app is a single application that contains code across many domains. The boundaries are unclear. The domains
One of the most unique and often misunderstood features of Ruby is blocks. Blocks are Ruby’s version of closures [https://softwareengineering.stackexchange.com/questions/40454/what-is-a-closure] and can be used to make code more reusable and less
Introduction During my time at Gusto as a part of the Application Security team, I’ve been exploring ways to improve defense against Cross-Site Scripting (XSS) [https://www.owasp.org/index.php/Cross-site_Scripting_(XSS)] in modern web