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…
Sometimes you need to invoke a method whose name you won't know until runtime. In this episode, you'll learn the differences between #send, #public_se…
Love it or hate it, metaprogramming is an undeniable part of Ruby programming lore and culture. In part one of two, join guest chef Chriz Salzberg in …
When it comes to debugging, you can fight with Ruby's dynamic nature... Or you can embrace it. A little just-in-time metaprogramming can give you a cl…
Ruby is all about giving coders choices. What if you could give users of your code the choice between positional or keyword arguments, or some mix of …