ActiveSupportのObject#with_optionsの使いどころ

個人的にActiveSupportが大好きなわけですが。

1.1で追加されたwith_optionsがRouting以外でどーもカッコいい使いどころがなーとおもっていたんですが

with_options(:if => :validate_password?) do |me|
me.validates_format_of :password #...
me.validates_length_of :password # ...
me.validates_confirmation_of :password #...
me.validates_presence_of :password#...
end

こんなキモイ使い方があった。もちろん、ActiveRecordのバリデーション。よくあるパターンで、パスワードはハッシュで保存しあって、createしたときやパスワード変更したときはバリデーションするんだけどそれ以外はしない、みたいなとき。

まぁ、やっぱり一番カッコいいのはto_procなんですけど。

comments powered by Disqus