2014/02/16

アラウンドエイリアスに関するリンク集

Rubyの黒魔術には極力手を出さないようにしていたのですが、テストコードを書くときに初めてそのありがたさが身にしみました。出合った状況は以下のもの。メソッドaが内部でメソッドbを呼び出しており、メソッドbが外部サイトの状況により例外を投げることがあるとする。このとき、メソッドbの各種状況によるメソッドaのテストパターンを書こうと思ったのですが、テストのときメソッドbを再定義できると便利だなぁと(このアプローチが正しいかどうかは悩み中)。で、いろいろ検索してるとアラウンドエイリアスという手法(?)らしいですね。このへんの用語を知ってるかどうかでヒット率が全然ちげーのでメモメモ。
aliasによるメソッドの再定義は危険なのでUnboundMethodかextendを使おう @ rubikitch
aliasを安易に使うのは避けたほうがいいのか。なるほど。
rails の alias_method_chain が素晴らしすぎる @ sasata299's blog
再定義するときの名前に困ったのですが、alias_method_chainの命名規則に習おうかなぁと思ったり