Robert Klemme wrote:

>> Write lots of unit tests.

> PS: I have blogged about a related topic recently:
> 
> http://blog.rubybestpractices.com/posts/rklemme/002_Writing_Block_Methods.html 

Does it cover this situation?

   def test_block
     method do |x|
       assert x == 42
     end
   end

If the block doesn't call, no assertion catches that problem. You must use this 
truly un-Ruby-like hack:

   def test_block
     and_the_block_got_called = false
     method do |x|
       assert x == 42
       and_the_block_got_called = true
     end
     assert and_the_block_got_called
   end

How to DRY that??

-- 
   Phlip