Duh. I should be using and_return(), not and_yield(), since I am actually returning the value of the instance eval. The method in question takes one parameter, a proc obj (as block). But how can I get a handle on that object (since it is anonymous)?
Scott On Aug 7, 2007, at 9:14 PM, Scott Taylor wrote: > > I have the following code, which yields instance eval's the block > given: > > class Foo > > def bar(&blk) > instance_eval &blk > end > > def baz > yield > end > > end > > The effect of this is that self is reassigned: > > Foo.new.bar do > # here, self is the instance of Foo > # created by new > end > > But normally self is the object in which > Foo.new.bar {...} occurs. > > Foo.new.baz do > > # self is the execution context > # in which Foo.new was called, > # since a block is a closure > > end > > > The second case is easy; it is covered by and_yield (with no > arguments). > > Is there some way to spec the first case? Do I smell the need for a > patch? > > Scott > _______________________________________________ > rspec-users mailing list > rspec-users@rubyforge.org > http://rubyforge.org/mailman/listinfo/rspec-users _______________________________________________ rspec-users mailing list rspec-users@rubyforge.org http://rubyforge.org/mailman/listinfo/rspec-users