I've been working in Ruby and Rails for the past 3 years working as the lead developer on OpenPHIN (https://github.com/talho/openphin). I am also the author of a MTI plugin for ActiveRecord called Pin Cushion (https://github.com/Dishwasha/pin_cushion). \ Most of my meta-programming experience evolved around designing a plugin architecture for OpenPHIN and general temporary Rails and gem bug fixing without having to fork. The class will cover the Ruby object model, discuss the differences between Proc and Lambda and how to use them, method_missing and various evals, and how to use meta-programming techniques effectively in Rails and plugins/gems.
This will be a hands-on course so bring a laptop with Ruby installed. It is best if students have basic Ruby skills, but for the bold I will be at class 30 minutes early to help with setting up Ruby through RVM. Once class begins there will be no time to help with installation.