aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/action_controller
diff options
context:
space:
mode:
Diffstat (limited to 'actionpack/lib/action_controller')
-rw-r--r--actionpack/lib/action_controller/filters.rb8
1 files changed, 5 insertions, 3 deletions
diff --git a/actionpack/lib/action_controller/filters.rb b/actionpack/lib/action_controller/filters.rb
index d7fb276171..337c489f07 100644
--- a/actionpack/lib/action_controller/filters.rb
+++ b/actionpack/lib/action_controller/filters.rb
@@ -583,10 +583,12 @@ module ActionController #:nodoc:
when filter.respond_to?(:call)
if filter.is_a?(Method)
MethodFilter
- elsif filter.arity == 1
- ProcFilter
else
- ProcWithCallFilter
+ case filter.arity
+ when 1; ProcFilter
+ when 2; ProcWithCallFilter
+ else raise ArgumentError, 'Filter blocks must take one or two arguments.'
+ end
end
when filter.respond_to?(:filter)
ClassFilter