Ruby Block-Local Variable

Ruby’s variable-scoping rules can be a little surprising if you’re coming from a C-like language. Learn how to introduce variable “shadowing” to Ruby blocks, and…

Modular Ruby

Ruby modules are the foundational concept for code decomposition and organization, metaprogramming, and object-oriented classes. Get a deep underst…

Meta Ruby

Learn to use Ruby's rich metaprogramming capabilities to augment the language - safely and sustainably.

Is it defined?

Constants, globals, locals, instance variables, methods... Ruby has a lot of namespaces. Let's learn about a Ruby power tool for reflecting on these n…

Setter Return

A surprising Rubocop warning inspired this video about an obscure bit of Ruby semantics. Find out why you never need to worry about return values in R…

Hash Splat Merge

In today's video, learn a concise and expressive syntax for merging several Ruby hashes into one!

Module Prepend

Sometimes you need to attach new functionality, such as logging, to other people's code. Learn to leverage Ruby's ancestor chain for (relatively) clea…

Null-Terminated Record

Before YAML, before JSON, there were null-terminated records. See how this simple, pragmatic technique greases the pipes between UNIX command-line too…

Output Record Separator

Did you know Ruby has a `print` method in addition to `puts`? Did you know it's for record-oriented output? Do you know how to control the formatting …