mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
Revert "Run callbacks from object's metaclass"
This commit is contained in:
parent
40dbebba28
commit
d8a72b32c5
3 changed files with 1 additions and 35 deletions
|
@ -1,7 +1,5 @@
|
|||
*Edge*
|
||||
|
||||
* Run callbacks from object's metaclass [Josh Peek]
|
||||
|
||||
* Add Array#in_groups which splits or iterates over the array in specified number of groups. #579. [Adrian Mugnolo] Example:
|
||||
|
||||
a = (1..10).to_a
|
||||
|
|
|
@ -269,15 +269,7 @@ module ActiveSupport
|
|||
# pass
|
||||
# stop
|
||||
def run_callbacks(kind, options = {}, &block)
|
||||
callback_chain_method = "#{kind}_callback_chain"
|
||||
|
||||
# Meta class inherits Class so we don't have to merge it in 1.9
|
||||
if RUBY_VERSION >= '1.9'
|
||||
metaclass.send(callback_chain_method).run(self, options, &block)
|
||||
else
|
||||
callbacks = self.class.send(callback_chain_method) | metaclass.send(callback_chain_method)
|
||||
callbacks.run(self, options, &block)
|
||||
end
|
||||
self.class.send("#{kind}_callback_chain").run(self, options, &block)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -84,30 +84,6 @@ class CallbacksTest < Test::Unit::TestCase
|
|||
end
|
||||
end
|
||||
|
||||
class MetaclassCallbacksTest < Test::Unit::TestCase
|
||||
module ModuleWithCallbacks
|
||||
def self.extended(object)
|
||||
object.metaclass.before_save :raise_metaclass_callback_called
|
||||
end
|
||||
|
||||
def module_callback_called?
|
||||
@module_callback_called ||= false
|
||||
end
|
||||
|
||||
def raise_metaclass_callback_called
|
||||
@module_callback_called = true
|
||||
end
|
||||
end
|
||||
|
||||
def test_metaclass_callbacks
|
||||
person = Person.new
|
||||
person.extend(ModuleWithCallbacks)
|
||||
assert !person.module_callback_called?
|
||||
person.save
|
||||
assert person.module_callback_called?
|
||||
end
|
||||
end
|
||||
|
||||
class ConditionalCallbackTest < Test::Unit::TestCase
|
||||
def test_save_conditional_person
|
||||
person = ConditionalPerson.new
|
||||
|
|
Loading…
Reference in a new issue