From: khaines@... Date: 2006-08-12T04:18:22+09:00 Subject: How absurd is this? Imagine you have in a method a block. Sometimes you will want that block to be executed via a mutex.synchronize() call. And sometimes you don't want to synchronize. def y yield end def method_with_a_block (dont_lock_here ? method(:y) : @mutex.method(:synchronize)).call do puts "This block may or may not be synchronized, depending on whether dont_lock_here() returned true or false." end end Is that a stupid way to get that effect? The only other alternative that occurs to me is to make the block a separate method. def i_was_a_block puts "This code may or may not be syncronized, depending on whether dont_lock_here() in method_with_a_block returned true or false." end def method_with_a_block if dont_lock_here i_was_a_block else @mutex.synchronize {i_was_a_block} end end What do you all think? Kirk Haines