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

Reply via email to