Ruby 3 method_missing and respond_to_missing? — Ruby Metaprogramming That's Actually Useful Metaprogramming has a reputation for being either magical or dangerous, depending on who you ask. Both reactions are earned. Ruby’s method_missing hook lets you intercept calls to methods that don’t exist and handle
Ruby 3 tap, then, and yield_self — Ruby's Method Chaining Toolkit Ruby has three methods that look similar on the surface but solve distinct problems in method chains: tap, then (aliased as yield_self), and itself. Once you understand what each one is actually for,
Ruby 3 Enumerable#lazy — Processing Large Collections Without Loading Them All Ruby’s Enumerable is one of the language’s best features — map, select, reject, reduce, and dozens of other methods that make working with collections feel natural. But every one of those methods is
Ruby 3 Ruby's Comparable Module — Custom Ordering That Just Works You’ve probably used sort, min, max, and between? on numbers and strings without thinking much about them. They work because those classes already implement comparison logic Ruby’s core can use. But the moment
Ruby 3 Ractor — True Parallelism in Ruby 3 Without the Shared State Nightmare Ruby’s GIL — the Global Interpreter Lock — has been the punchline of many conversations about concurrency for a long time. The lock means that even with multiple threads, only one can execute
Ruby 3 Ruby 3.2's Data Class — Immutable Value Objects Done Right If you’ve been writing Ruby for a while, you’ve probably cobbled together something to represent simple value objects — a Struct, a frozen hash, maybe a plain class with an attr_reader and a
Ruby 3 Ruby's Fiber Scheduler — Concurrency That Actually Makes Sense Most Ruby developers have a complicated relationship with concurrency. Threads feel dangerous. Processes feel heavy. And the GIL — the Global Interpreter Lock — has been the villain in so many horror stories
Ruby 3 Pattern Matching in Ruby 3 Pattern matching landed in Ruby 2.7 as experimental and graduated to stable in Ruby 3.0. Most Ruby developers have heard of it; far fewer use it confidently in production code. This post cuts
Ruby 3 Exploring Endless Method Definitions in Ruby Ruby has a reputation for flexibility and expressiveness, often encouraging developers to explore boundaries that many other languages restrict.