メタプログラミングRuby 第8章 ActiveRecord の中身 その2
今日は ActiveRecord の動的ファインダのところです。
- ActiveRecord::Base.find は find_by_
のように属性名を含むメソッドでの検索もできる - and, or での連結などもできる
- 「ゴーストメソッド」で実装
- 長い
- ここでもやはり最初に method_missing でメソッドを定義して次からは直接呼び出せるようにしている
- まとめ。パフォーマンスについて。推測せず計測せよ。早すぎる最適化はしない
- メタプログラミングの複雑さ、許容量にはさまざまな観点があって一概に言えない
- そりゃそうだ
後半はソースコードは多かったですが解説はあまりないのでするっと終わりました。
明日から第9章に入ります。
「付録」がちょっと長めなのでもう少し余裕がありますけど「メタプログラミングRuby」もそろそろ読み終わりです。次は何にするか思案中です。「Rubyベストプラクティス」をまだ読んでないので読みたいけど、Ruby本が続いてしまいますね。