From 7459ba4f6c7d7b98fc0985255ccfd93186b0950f Mon Sep 17 00:00:00 2001 From: Aaron Patterson Date: Fri, 21 Oct 2011 11:42:59 -0700 Subject: pushing hash validation up --- actionpack/lib/action_dispatch/routing/mapper.rb | 27 ++++++++++++------------ 1 file changed, 14 insertions(+), 13 deletions(-) (limited to 'actionpack/lib/action_dispatch/routing') diff --git a/actionpack/lib/action_dispatch/routing/mapper.rb b/actionpack/lib/action_dispatch/routing/mapper.rb index 4c4b99c03e..d196f16600 100644 --- a/actionpack/lib/action_dispatch/routing/mapper.rb +++ b/actionpack/lib/action_dispatch/routing/mapper.rb @@ -1255,25 +1255,26 @@ module ActionDispatch options[:anchor] = true unless options.key?(:anchor) + if options[:on] && !VALID_ON_OPTIONS.include?(options[:on]) + raise ArgumentError, "Unknown scope #{on.inspect} given to :on" + end + paths.each { |path| decomposed_match(path, options.dup) } self end def decomposed_match(path, options) # :nodoc: - on = options.delete(:on) - if VALID_ON_OPTIONS.include?(on) - return send(on){ decomposed_match(path, options) } - elsif on - raise ArgumentError, "Unknown scope #{on.inspect} given to :on" - end - - case @scope[:scope_level] - when :resources - nested { decomposed_match(path, options) } - when :resource - member { decomposed_match(path, options) } + if on = options.delete(:on) + send(on) { decomposed_match(path, options) } else - add_route(path, options) + case @scope[:scope_level] + when :resources + nested { decomposed_match(path, options) } + when :resource + member { decomposed_match(path, options) } + else + add_route(path, options) + end end end -- cgit v1.2.3