Kill AMo observing wrap_with_notifications since ARes was only using it

This commit is contained in:
Joshua Peek 2009-09-02 11:44:36 -05:00
parent e870e24887
commit 723a47bfb3
2 changed files with 12 additions and 18 deletions

View File

@ -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

View File

@ -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