diff options
author | Marc-Andre Lafortune <github@marc-andre.ca> | 2012-04-30 14:20:42 -0400 |
---|---|---|
committer | Marc-Andre Lafortune <github@marc-andre.ca> | 2012-04-30 22:13:26 -0400 |
commit | dc74f0cb1bdbb07accc9412644ff4d30803218a7 (patch) | |
tree | bf98f86f655d73134f90f7601bacd0ea548b641d | |
parent | 206b43a954dc6c6c0b4b3916cade2561413efdb5 (diff) | |
download | rails-dc74f0cb1bdbb07accc9412644ff4d30803218a7.tar.gz rails-dc74f0cb1bdbb07accc9412644ff4d30803218a7.tar.bz2 rails-dc74f0cb1bdbb07accc9412644ff4d30803218a7.zip |
notify_observers should be public
-rw-r--r-- | activemodel/lib/active_model/observing.rb | 37 | ||||
-rw-r--r-- | activemodel/test/cases/observing_test.rb | 11 |
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 |