Beyond travel_to: The Block-Scoped State Pattern Hidden in Rails Testing August 12, 2026 Rails developers often use travel_to without thinking much about how it works. travel_to Time.zone.parse("2026-08-12 10:00") do # Test code runs as if it were 10:00 end The API is simple: change the perceived time, run some code, and automatically return to the … Continue reading Beyond travel_to: The Block-Scoped State Pattern Hidden in Rails Testing
Category: Services & Subscriptions
RSpec Expectations: You’re Probably Using the Wrong Matcher
RSpec Expectations: You're Probably Using the Wrong Matcher August 3, 2026 If you've been writing Ruby tests for a while, chances are you've reached for eq more times than you can count. While it works for many scenarios, RSpec Expectations offers a much richer vocabulary for expressing intent. Choosing the right matcher isn't just about … Continue reading RSpec Expectations: You’re Probably Using the Wrong Matcher
Ruby.org Gets Command Palette Search with Cmd/Ctrl+K
Ruby.org Gets Command Palette Search with Cmd/Ctrl+K July 28, 2026 The English version of the official Ruby website now includes a built-in search feature, making it easier to find documentation, news, security advisories, and other resources. Users can open the search dialog with Cmd+K on macOS or Ctrl+K on Windows and Linux, following a familiar … Continue reading Ruby.org Gets Command Palette Search with Cmd/Ctrl+K
Beyond tenant_id: Treating Multi-Tenancy as a Database Invariant
Beyond tenant_id: Treating Multi-Tenancy as a Database Invariant July 20, 2026 Most Rails applications that become SaaS products follow the same trajectory. They begin with a single customer, acquire a second, then a third, and eventually someone adds a tenant_id column to every table. From that moment forward, every query is expected to remember to … Continue reading Beyond tenant_id: Treating Multi-Tenancy as a Database Invariant
Why Ruby’s Issue Tracker Still Links to a 1991 Paper About Floating-Point Numbers
Why Ruby's Issue Tracker Still Links to a 1991 Paper About Floating-Point Numbers July 8, 2026 If you've ever been surprised by this in Ruby: (2.0 - 1.1) == 0.9 # => false you're not alone. Many developers initially assume this is a Ruby bug. It isn't. In fact, Ruby's own issue tracker includes a … Continue reading Why Ruby’s Issue Tracker Still Links to a 1991 Paper About Floating-Point Numbers
How to Safely and Efficiently Transform Payloads in Ruby and Ruby on Rails Workflows
July 2, 2026 Modern applications rarely consume external data exactly as it arrives. Whether you're integrating with payment gateways, CRMs, ERPs, or third-party APIs, incoming payloads almost always need to be normalized, enriched, or reshaped before they can be processed. A common workflow looks like this: Incoming Payload β βΌ Transformation Layer β βΌ Normalized … Continue reading How to Safely and Efficiently Transform Payloads in Ruby and Ruby on Rails Workflows
Dependabot Resolves Remaining Bundler 4 Compatibility Issues
Dependabot Resolves Remaining Bundler 4 Compatibility Issues July 1, 2026 Teams adopting Bundler 4 can breathe a little easier. After several weeks of community reports and investigation, the remaining compatibility issues between Dependabot and Bundler 4 have now been addressed through merged fixes in dependabot-core. The fixes resolve two separate issues that affected projects relying … Continue reading Dependabot Resolves Remaining Bundler 4 Compatibility Issues
Design Patterns, the Ruby Way (Part 3): Behavioral Patterns in Real Ruby Applications
Design Patterns, the Ruby Way (Part 3): Behavioral Patterns in Real Ruby Applications June 30, 2026 In the previous article, we explored how Ruby simplifies many creational and structural design patterns. But some of the most interesting patterns aren't about creating or organizing objects. They're about how objects collaborate. Behavioral patterns define how responsibilities are … Continue reading Design Patterns, the Ruby Way (Part 3): Behavioral Patterns in Real Ruby Applications
Design Patterns, the Ruby Way (Part 2): Modern Creational and Structural Patterns
Design Patterns, the Ruby Way (Part 2): Modern Creational and Structural Patterns June 28, 2026 In the first article of this series, we explored why Ruby changes the way developers think about design patterns. Features like duck typing, modules, blocks, and delegation often replace the ceremony required in more rigid object-oriented languages. Now it's time … Continue reading Design Patterns, the Ruby Way (Part 2): Modern Creational and Structural Patterns
Design Patterns, the Ruby Way (Part 1): Why Ruby Changes the Conversation
Design Patterns, the Ruby Way (Part 1): Why Ruby Changes the Conversation June 25, 2026 Software developers have been talking about design patterns for more than thirty years. Since the publication of Design Patterns: Elements of Reusable Object-Oriented Software in 1994, the Gang of Four (GoF) patterns have become a shared vocabulary for solving recurring … Continue reading Design Patterns, the Ruby Way (Part 1): Why Ruby Changes the Conversation








