aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack
diff options
context:
space:
mode:
authorPiotr Sarnacki <drogus@gmail.com>2012-03-14 12:53:19 -0700
committerPiotr Sarnacki <drogus@gmail.com>2012-03-14 12:53:19 -0700
commit1efeb072bf39c3eeef9a0d8874e58a4bd9850db6 (patch)
treef33ca168daa8e2a09d691ff117057ba5c4297299 /actionpack
parent25861e22a1174fe5c8f789bb2bf112aaef947f32 (diff)
parentb4b0fddb24b0e6cbff6936606689984274cecd15 (diff)
downloadrails-1efeb072bf39c3eeef9a0d8874e58a4bd9850db6.tar.gz
rails-1efeb072bf39c3eeef9a0d8874e58a4bd9850db6.tar.bz2
rails-1efeb072bf39c3eeef9a0d8874e58a4bd9850db6.zip
Merge pull request #5357 from bagilevi/sweeper-undefined-method-ignored
Don't ignore call to undefined method in Sweeper
Diffstat (limited to 'actionpack')
-rw-r--r--actionpack/lib/action_controller/caching/sweeping.rb2
-rw-r--r--actionpack/test/controller/sweeper_test.rb16
2 files changed, 17 insertions, 1 deletions
diff --git a/actionpack/lib/action_controller/caching/sweeping.rb b/actionpack/lib/action_controller/caching/sweeping.rb
index 49cf70ec21..808a6fe5f3 100644
--- a/actionpack/lib/action_controller/caching/sweeping.rb
+++ b/actionpack/lib/action_controller/caching/sweeping.rb
@@ -88,7 +88,7 @@ module ActionController #:nodoc:
end
def method_missing(method, *arguments, &block)
- return unless @controller
+ super unless @controller
@controller.__send__(method, *arguments, &block)
end
end
diff --git a/actionpack/test/controller/sweeper_test.rb b/actionpack/test/controller/sweeper_test.rb
new file mode 100644
index 0000000000..0561efc62f
--- /dev/null
+++ b/actionpack/test/controller/sweeper_test.rb
@@ -0,0 +1,16 @@
+require 'abstract_unit'
+
+
+class SweeperTest < ActionController::TestCase
+
+ class ::AppSweeper < ActionController::Caching::Sweeper; end
+
+ def test_sweeper_should_not_ignore_unknown_method_calls
+ sweeper = ActionController::Caching::Sweeper.send(:new)
+ assert_raise NameError do
+ sweeper.instance_eval do
+ some_method_that_doesnt_exist
+ end
+ end
+ end
+end