diff options
Diffstat (limited to 'actionpack/lib/action_controller')
-rw-r--r-- | actionpack/lib/action_controller/filters.rb | 8 |
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 |