March 9-11, 2011
Montreal, Canada

Metaprogramming in Ruby

Programming programs is fun! Programming programs to program other programs is even more fun! Sounds confusing? It doesn't have to be. With Ruby, metaprogramming becomes a thing of joy. In this talk we'll investigate:

* blocks, lambdas & yield
* eval, instance_eval, module_eval, class_eval
* const_set, const_get
* define_method
* method_added
* include, extend, and callbacks
* arity, parameters (1.9)
* ParseTree & ruby2ruby

We'll explore the capabilities and limitations of these techniques, exploring ways to create programs not typically possible. We'll use lots of practical examples so that you can follow along and learn how to use these techniques yourself!

View all 146 sessions

Joshua Hull


Joshua Hull has been working as a programmer for the past 12 years. He's deeply familiar with the world of startups, most recently through his involvement with companies such as Bibliocommons, Postrank and Poll Everywhere. Joshua is currently employed by Twitter; when he isn't working, he stays busy with open source projects such as Padrino, Bundler, and whatever other crazy ideas occur to him.

Read More

Montreal 2011 sponsored by