Today we tackle one of Ruby's most controversial new features. Building on the example from episode #249, we'll look at how to extend a core class with custom methods, without …
In which I rant a bit about the dangers of "monkey-patching".
Since Ruby 2.1, def returns a symbol. In this episode we'll take a look at why this matters, and how it might change the way we define methods.
When is it appropriate to metaprogram? Today's episode looks at one situation in which it may be a good choice.
In this, the first (but far from the last!) RubyTapas episode to focus on a Ruby 2.0 feature, we look at the implications of Ruby's newly relaxed rules for binding …
This episode covers how to write a "macro"-a method that generates or modifies other methods-using the classic example of memoizing method results.
In episode 27, we switched from adding generated methods directly to a class, to using anonymous modules. In this episode, we consolidate our metaprogramming modules, and make them more self-documenting.
In this episode, we look at how to use dynamically generated modules to make metaprogrammed methods open for future extension.
A short introduction to using Ruby's Forwardable library for object composition.