Permalink
Browse files

Kill AMo observing wrap_with_notifications since ARes was only using it

  • Loading branch information...
1 parent e870e24 commit 723a47bfb3708f968821bc969a9a3fc873a3ed58 @josh josh committed Sep 2, 2009
Showing with 12 additions and 18 deletions.
  1. +0 −17 activemodel/lib/active_model/observing.rb
  2. +12 −1 activeresource/lib/active_resource/observing.rb
@@ -40,23 +40,6 @@ def instantiate_observers
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 Observing
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

0 comments on commit 723a47b

Please sign in to comment.