FWIW, I always prefer `define_method` over eval'ing a string like this.  Tenderlove recently wrote up a summary comparison of the two approaches including benchmarks:

http://tenderlovemaking.com/2013/03/03/dynamic_method_definitions.html

We haven't always followed this in the rspec code base, both because we've never really talked about it as a team (and I'm not sure that others share my preference for `define_method`) and also because we've been forced to use the eval approach on occasion due to the fact that 1.8.6 (and earlier) didn't allow a `define_method`-defined method to accept a block...but moving forward, I'd like to use `define_method` unless we have a specific reason not to.