diff options
author | Subba Rao Pasupuleti <subbarao.pasupuleti@gmail.com> | 2010-08-03 17:04:41 -0400 |
---|---|---|
committer | Xavier Noria <fxn@hashref.com> | 2010-08-14 13:17:30 +0200 |
commit | f8f437191f1cbf37ba842038164c1b873dc453e9 (patch) | |
tree | ba8e02a447aebf4e44c44047e8d4b2c3ca037ac1 /activemodel/lib | |
parent | b61ff257e9ae4b74d4fc3b0d7d24dd15f127de1c (diff) | |
download | rails-f8f437191f1cbf37ba842038164c1b873dc453e9.tar.gz rails-f8f437191f1cbf37ba842038164c1b873dc453e9.tar.bz2 rails-f8f437191f1cbf37ba842038164c1b873dc453e9.zip |
no callbacks should be created for empty array [#5289 state:resolved]
Signed-off-by: José Valim <jose.valim@gmail.com>
Diffstat (limited to 'activemodel/lib')
-rw-r--r-- | activemodel/lib/active_model/callbacks.rb | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/activemodel/lib/active_model/callbacks.rb b/activemodel/lib/active_model/callbacks.rb index 8c10c54b54..b150fc60f7 100644 --- a/activemodel/lib/active_model/callbacks.rb +++ b/activemodel/lib/active_model/callbacks.rb @@ -90,10 +90,13 @@ module ActiveModel # def define_model_callbacks(*callbacks) options = callbacks.extract_options! - options = { :terminator => "result == false", :scope => [:kind, :name] }.merge(options) + options = { + :terminator => "result == false", + :scope => [:kind, :name], + :only => [:before, :around, :after] + }.merge(options) - types = Array.wrap(options.delete(:only)) - types = [:before, :around, :after] if types.empty? + types = Array.wrap(options.delete(:only)) callbacks.each do |callback| define_callbacks(callback, options) |