aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarc-Andre Lafortune <github@marc-andre.ca>2012-04-30 14:20:42 -0400
committerMarc-Andre Lafortune <github@marc-andre.ca>2012-04-30 22:13:26 -0400
commitdc74f0cb1bdbb07accc9412644ff4d30803218a7 (patch)
treebf98f86f655d73134f90f7601bacd0ea548b641d
parent206b43a954dc6c6c0b4b3916cade2561413efdb5 (diff)
downloadrails-dc74f0cb1bdbb07accc9412644ff4d30803218a7.tar.gz
rails-dc74f0cb1bdbb07accc9412644ff4d30803218a7.tar.bz2
rails-dc74f0cb1bdbb07accc9412644ff4d30803218a7.zip
notify_observers should be public
-rw-r--r--activemodel/lib/active_model/observing.rb37
-rw-r--r--activemodel/test/cases/observing_test.rb11
2 files changed, 27 insertions, 21 deletions
diff --git a/activemodel/lib/active_model/observing.rb b/activemodel/lib/active_model/observing.rb
index 4c7dae42f0..f5ea285ccb 100644
--- a/activemodel/lib/active_model/observing.rb
+++ b/activemodel/lib/active_model/observing.rb
@@ -110,25 +110,24 @@ module ActiveModel
end
end
- private
- # Fires notifications to model's observers
- #
- # def save
- # notify_observers(:before_save)
- # ...
- # notify_observers(:after_save)
- # end
- #
- # Custom notifications can be sent in a similar fashion:
- #
- # notify_observers(:custom_notification, :foo)
- #
- # This will call +custom_notification+, passing as arguments
- # the current object and :foo.
- #
- def notify_observers(method, *extra_args)
- self.class.notify_observers(method, self, *extra_args)
- end
+ # Fires notifications to model's observers
+ #
+ # def save
+ # notify_observers(:before_save)
+ # ...
+ # notify_observers(:after_save)
+ # end
+ #
+ # Custom notifications can be sent in a similar fashion:
+ #
+ # notify_observers(:custom_notification, :foo)
+ #
+ # This will call +custom_notification+, passing as arguments
+ # the current object and :foo.
+ #
+ def notify_observers(method, *extra_args)
+ self.class.notify_observers(method, self, *extra_args)
+ end
end
# == Active Model Observers
diff --git a/activemodel/test/cases/observing_test.rb b/activemodel/test/cases/observing_test.rb
index c91938a7ee..ade6026602 100644
--- a/activemodel/test/cases/observing_test.rb
+++ b/activemodel/test/cases/observing_test.rb
@@ -138,7 +138,14 @@ class ObserverTest < ActiveModel::TestCase
foo = Foo.new
FooObserver.instance.stub = stub
FooObserver.instance.stub.expects(:event_with).with(foo)
- Foo.send(:notify_observers, :on_spec, foo)
+ Foo.notify_observers(:on_spec, foo)
+ end
+
+ test "calls existing observer event from the instance" do
+ foo = Foo.new
+ FooObserver.instance.stub = stub
+ FooObserver.instance.stub.expects(:event_with).with(foo)
+ foo.notify_observers(:on_spec)
end
test "passes extra arguments" do
@@ -150,7 +157,7 @@ class ObserverTest < ActiveModel::TestCase
test "skips nonexistent observer event" do
foo = Foo.new
- Foo.send(:notify_observers, :whatever, foo)
+ Foo.notify_observers(:whatever, foo)
end
test "update passes a block on to the observer" do