A presentation at Saint-P RubyConf in in St Petersburg, Russia by Vladimir Dementyev

Ruby was designed to make programmers happy. One of the features that makes it possible is a comprehensive metaprogramming tooling.

What is metaprogramming? How is it implemented in Ruby?

Let’s take a look under the hood of the simplest meta-technique–method_missing–and discover what lies behind it.

And to make this investigation more meta-exciting we’ll try to re-write it from scratch but in Ruby! So, don’t be afraid of C code)


The following code examples from the presentation can be tried out live.


The following resources were mentioned during the presentation or are useful additional information.

Buzz and feedback

Here’s what was said about this presentation on Twitter.