Podcast: Play in new window | Download (Duration: 1:09:24 — 95.3MB)
Panelists
- Avdi Grimm (twitter github blog book)
- Charles Max Wood (twitter github Teach Me To Code)
- David Brady (blog twitter github ADDcasts)
- Gregory Brown (blog twitter github Ruby Mendicant University)
- James Edward Gray (blog twitter github)
Discussed in this episode
- What is metaprogramming
- AST
- Ripper
- method_missing
- send
- super
- defined?(super)
- alias method chain
- rdoc
- rspec
Guidelines
- Aliasing/Redifining methods (generally wrong)
- Dynamic Module generation (Generally right)
- understand Ruby’s method call lookup
- understand modules (extend and include)
- Calling super is usually a good idea
- If you’re going to monkey patch, make sure that the method isn’t already there
- Make your changes easy to find
- class_eval def vs define_method
- Convenience constructors – In a medium sized project, you should not do this more than 3 times.
Picks
- vagrant (Avdi)
- Best of Ruby Quiz
(Avdi)
- anti-pick: TeamViewer (David)
- Let Dave know if you have a great tool for sharing screens and collaborating over the web.
- gnu screen (Greg)
- irssi (Greg)
- square foot gardening(Greg)
- find/be a mentor (James)
- George R. R. Martin’s A Song of Ice and Fire
(James)
- #rmu channel on freenode for mentoring (Greg/James)
- Rails 3.1 hackfest (Josh)
- escapepod.org (Josh)
- Cassandra: The Definitive Guide
- jQuery-UI








[...] prominent “Rubyists” discuss the definition of metaprogramming in much greater detail.[1]To start with, metaprogramming is not magical. It will not solve all of your problems. Its usage [...]
[...] 012 RR Metaprogramming in Ruby [...]