読者です 読者をやめる 読者になる 読者になる

ActiveSupportにあるModule#alias_method_chainってなんじゃらほい?

WEB+DB Press vol.51でのPractical Ruby Programmingを読んでいて、「alias_method_chain」が出て来たんだけど、これのありがたみがよく分からない。

というわけで、Google先生にお伺いを立てると、例によってヽ( ・∀・)ノくまくまーに書いてあった。3年前だよ。
Module#alias_method_chain (Edge:4276↑)

う〜〜〜ん、2〜3回読み返してようやく分かった気がする。ポイントは、オーバーライドしたいメソッドが自動的に「(メソッド名)_without_(機能名)」として定義されるんだな。すげぇな。これ。ほんまよく考えられている。