About
Hi! I'm Avdi Grimm, and this is my software development blog. More...
Books and Screencasts
Objects on Rails
A developer notebook on applying classic Object-Oriented principles to Ruby on Rails projects.
-
Subscribe
-
Recent Posts
Archives
Categories
Meta
Category Archives: Ruby
Array Set Operations in Ruby
Sometimes you want to treat an Array like a set. Continue reading
Define Conversion Protocols in Ruby
In this excerpt from “Confident Ruby”, I talk about mimicking Ruby’s own “implicit conversion protocols” in your own code. Continue reading
A Ruby Conversion Idiom
@CapnKernul writes: [do you know of] a Ruby idiom for converting an object to a type if it isn’t already that type. For example, if you want to only store an attribute of type Foo, you could write an accessor … Continue reading
Generating cows with IO.popen()
I find the subject of starting and interacting with other OS processes fascinating. A few years ago I wrote a never-completed series on the many ways to spawn off processes in Ruby: Part 1: Backticks and system() Part 2: Opening … Continue reading
Unless readable else confused
An exploration of why unless…else in Ruby is problematic at best. Continue reading
On Module Integrity
A reply to Josh Cheek’s post “Modules called, they want their integrity back”. Continue reading
Ruby Thread Locals are also Fiber-Local
I was briefly concerned that thread-local variables would not also be Fiber-local, since fibers have their own stack. This would be a problem for any code which uses thread-local variables to delimit a stack context, e.g. to implement dynamically-scoped variables … Continue reading
Decoration is best, except when it isn’t
I think by now we all know to prefer composition over inheritance. But in a language with a lot of options, what’s the best kind of composition to use? Composing an adventure Consider an adventure game, with objects representing player … Continue reading




