diff options
author | Michael S. Klishin <michael@novemberain.com> | 2008-12-28 13:21:10 +0300 |
---|---|---|
committer | Michael S. Klishin <michael@novemberain.com> | 2008-12-28 13:21:10 +0300 |
commit | d77deb89d54b18c662ae3de103802e4d7a9d7d08 (patch) | |
tree | f5a77220f9057d3b998e1a2db8166ecc021e32cc /activesupport/lib/active_support/callbacks.rb | |
parent | 5da3ba12159d2c4fc0680efcf0cad8a31f725122 (diff) | |
download | rails-d77deb89d54b18c662ae3de103802e4d7a9d7d08.tar.gz rails-d77deb89d54b18c662ae3de103802e4d7a9d7d08.tar.bz2 rails-d77deb89d54b18c662ae3de103802e4d7a9d7d08.zip |
Annotated metaprogramming code across ActiveSupport
Diffstat (limited to 'activesupport/lib/active_support/callbacks.rb')
-rw-r--r-- | activesupport/lib/active_support/callbacks.rb | 28 |
1 files changed, 14 insertions, 14 deletions
diff --git a/activesupport/lib/active_support/callbacks.rb b/activesupport/lib/active_support/callbacks.rb index 5cdcaf5ad1..aabf0a0895 100644 --- a/activesupport/lib/active_support/callbacks.rb +++ b/activesupport/lib/active_support/callbacks.rb @@ -209,21 +209,21 @@ module ActiveSupport module ClassMethods def define_callbacks(*callbacks) callbacks.each do |callback| - class_eval <<-"end_eval" - def self.#{callback}(*methods, &block) - callbacks = CallbackChain.build(:#{callback}, *methods, &block) - (@#{callback}_callbacks ||= CallbackChain.new).concat callbacks - end + class_eval <<-"end_eval", __FILE__, __LINE__ + 1 + def self.#{callback}(*methods, &block) # def self.validate_on_create(*methods, &block) + callbacks = CallbackChain.build(:#{callback}, *methods, &block) # callbacks = CallbackChain.build(:validate_on_create, *methods, &block) + (@#{callback}_callbacks ||= CallbackChain.new).concat callbacks # (@validate_on_create_callbacks ||= CallbackChain.new).concat callbacks + end # end - def self.#{callback}_callback_chain - @#{callback}_callbacks ||= CallbackChain.new - - if superclass.respond_to?(:#{callback}_callback_chain) - CallbackChain.new(superclass.#{callback}_callback_chain + @#{callback}_callbacks) - else - @#{callback}_callbacks - end - end + def self.#{callback}_callback_chain # def self.validate_on_create_callback_chain + @#{callback}_callbacks ||= CallbackChain.new # @validate_on_create_callbacks ||= CallbackChain.new + # + if superclass.respond_to?(:#{callback}_callback_chain) # if superclass.respond_to?(:validate_on_create_callback_chain) + CallbackChain.new(superclass.#{callback}_callback_chain + @#{callback}_callbacks) # CallbackChain.new(superclass.validate_on_create_callback_chain + @validate_on_create_callbacks) + else # else + @#{callback}_callbacks # @validate_on_create_callbacks + end # end + end # end end_eval end end |