>>29
ActiveRecordは一例でしょ。
もっと素のDB接続に近いRuby DBIでもトランザクションにはブロックを使ってる。
http://www.jiubao.org/ruby-dbi/ruby-dbi.html#TOC_13

別に他の言語でも同じことはできるけど、詳しい人なら知っているイディオムではなく、
言語を勉強し始めて最初の方に覚えるだろうファイルの読み書きから使われている
一般的な手法というのがポイント。