Metaprogramming in the Wild: Source-Diving FactoryGirl 3.91


Metaprogramming is still an elusive practice of Ruby programmers; Rails 3 helped bring it more into the spotlight but the dynamicism turned a lot of developers off.

FactoryGirl uses metaprogramming heavily in order to support concepts of mixins (for shared traits), inheritance (for parent/child factories), and lazy evaluation (for attributes that refer to each other). In this talk, I cover the various ways to use metaprogramming to help build a good DSL by covering context evaluation, defining methods dynamically, method scoping, and design principles like SRP and OCP to add and extend behavior easily.

Comments on this Talk

Avatar-missing-icon-03 Nola Stowe, 11 Aug 07:58 PM

Great topic, I wished I could hit a pause button so I could take more notes :)

Face2 Tim Tyrrell, 12 Aug 12:24 AM

Serious deep dive. Maybe break it up a little to give our minds a chance to digest.

Have an account? Sign in or register.

Leave a Comment

4 Ratings: 3.91

Delivery: 4.25

Content: 3.58