ブロックやProcオブジェクトを渡せるようなメソッドを定義すると、定型的な処理の一部に対して外部からカスタマイズ可能な振る舞いを組み込むことができます。
『プロを目指す人のためのRuby入門[改訂2版]』(P. 435)