Mae向きなブログ

Mae向きな日記のブログ版。ようやくこちらに移行してきました。

メタプログラミングRuby -- 第7章

メタプログラミングRuby』の第7章まで読み終えました。
第7章の最後に掲載されているrails/modules.rbは,現在のActiveRecord 3.0.5では動作しませんでした。以下のように変更すると動作するようになります。訳者の角征典さんに教えていただきました。ありがとうございます。

本に掲載されている通りに入力して実行すると,以下のように,deprecated_callback_methodが定義されていないと出力されています。本来なら,このメッセージをみて,「あっ,deprecated_callback_methodを定義しないと」と気づかないといけませんね。まだまだ力が足りません。

validations.rb:57:in `valid?': undefined method `deprecated_callback_method' for #<MyClass:0x00000100d12710> (NoMethodError)
	from modules.rb:18:in `<main>'

疑問点

2行目のActiveRecord::Baseをコメントアウトしても動作しますが,何のために書いてるんでしょう?