Kill AMo observing wrap_with_notifications since ARes was only using it
This commit is contained in:
parent
e870e24887
commit
723a47bfb3
|
@ -40,23 +40,6 @@ module ActiveModel
|
|||
observers.each { |o| instantiate_observer(o) }
|
||||
end
|
||||
|
||||
# Wraps methods with before and after notifications.
|
||||
#
|
||||
# wrap_with_notifications :create, :save, :update, :destroy
|
||||
def wrap_with_notifications(*methods)
|
||||
methods.each do |method|
|
||||
class_eval(<<-EOS, __FILE__, __LINE__ + 1)
|
||||
def #{method}_with_notifications(*args, &block)
|
||||
notify_observers(:before_#{method})
|
||||
result = #{method}_without_notifications(*args, &block)
|
||||
notify_observers(:after_#{method})
|
||||
result
|
||||
end
|
||||
EOS
|
||||
alias_method_chain(method, :notifications)
|
||||
end
|
||||
end
|
||||
|
||||
protected
|
||||
def instantiate_observer(observer) #:nodoc:
|
||||
# string/symbol
|
||||
|
|
|
@ -4,7 +4,18 @@ module ActiveResource
|
|||
include ActiveModel::Observing
|
||||
|
||||
included do
|
||||
wrap_with_notifications :create, :save, :update, :destroy
|
||||
%w( create save update destroy ).each do |method|
|
||||
class_eval(<<-EOS, __FILE__, __LINE__ + 1)
|
||||
def #{method}_with_notifications(*args, &block)
|
||||
notify_observers(:before_#{method})
|
||||
if result = #{method}_without_notifications(*args, &block)
|
||||
notify_observers(:after_#{method})
|
||||
end
|
||||
result
|
||||
end
|
||||
EOS
|
||||
alias_method_chain(method, :notifications)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue