概要
アラウンドエイリアス
内容
アラウンドエイリアスとは再定義したメソッドから以前のメソッドをエイリアスとして呼び出すことです。
・元の処理の前後に処理を追加したり
・ラップした処理を作成したり
・既存機能を拡張しつつ、元のメソッドも利用可能にしたり
と便利です。
しかし、既存処理を利用箇所がある場合は影響範囲の見極めが必要。
サンプル
# encoding: utf-8 require "pp" class Hoge def hoge "old_hoge" end end puts Hoge.new.hoge class Hoge alias :old_hoge :hoge def hoge old_hoge * 5 end end puts Hoge.new.hoge puts Hoge.new.old_hoge
出力
old_hoge old_hogeold_hogeold_hogeold_hogeold_hoge old_hoge