diff options
author | Aaron Patterson <aaron.patterson@gmail.com> | 2015-08-10 13:24:15 -0700 |
---|---|---|
committer | Aaron Patterson <aaron.patterson@gmail.com> | 2015-08-10 13:24:35 -0700 |
commit | 6bc8ada05c348708232b1431f6e586ac1620542b (patch) | |
tree | c4111a9c8a632851ae8669eb1cba1fefe43f0e1c | |
parent | d4e1a75918049f269803fa6d3c77ae5da8a04f59 (diff) | |
download | rails-6bc8ada05c348708232b1431f6e586ac1620542b.tar.gz rails-6bc8ada05c348708232b1431f6e586ac1620542b.tar.bz2 rails-6bc8ada05c348708232b1431f6e586ac1620542b.zip |
push `with_scope_level` up so resource_scope doesn't know
`resource_scope` should just put resource scopes on the stack, and
doesn't need to know what a `scope_level` is.
-rw-r--r-- | actionpack/lib/action_dispatch/routing/mapper.rb | 52 |
1 files changed, 27 insertions, 25 deletions
diff --git a/actionpack/lib/action_dispatch/routing/mapper.rb b/actionpack/lib/action_dispatch/routing/mapper.rb index 4606cc3db2..433555a30a 100644 --- a/actionpack/lib/action_dispatch/routing/mapper.rb +++ b/actionpack/lib/action_dispatch/routing/mapper.rb @@ -1197,20 +1197,22 @@ module ActionDispatch return self end - resource_scope(:resource, SingletonResource.new(resources.pop, api_only?, @scope[:shallow], options)) do - yield if block_given? + with_scope_level(:resource) do + resource_scope(SingletonResource.new(resources.pop, api_only?, @scope[:shallow], options)) do + yield if block_given? - concerns(options[:concerns]) if options[:concerns] + concerns(options[:concerns]) if options[:concerns] - collection do - post :create - end if parent_resource.actions.include?(:create) + collection do + post :create + end if parent_resource.actions.include?(:create) - new do - get :new - end if parent_resource.actions.include?(:new) + new do + get :new + end if parent_resource.actions.include?(:new) - set_member_mappings_for_resource + set_member_mappings_for_resource + end end self @@ -1355,21 +1357,23 @@ module ActionDispatch return self end - resource_scope(:resources, Resource.new(resources.pop, api_only?, @scope[:shallow], options)) do - yield if block_given? + with_scope_level(:resources) do + resource_scope(Resource.new(resources.pop, api_only?, @scope[:shallow], options)) do + yield if block_given? - concerns(options[:concerns]) if options[:concerns] + concerns(options[:concerns]) if options[:concerns] - collection do - get :index if parent_resource.actions.include?(:index) - post :create if parent_resource.actions.include?(:create) - end + collection do + get :index if parent_resource.actions.include?(:index) + post :create if parent_resource.actions.include?(:create) + end - new do - get :new - end if parent_resource.actions.include?(:new) + new do + get :new + end if parent_resource.actions.include?(:new) - set_member_mappings_for_resource + set_member_mappings_for_resource + end end self @@ -1682,12 +1686,10 @@ module ActionDispatch @scope = @scope.parent end - def resource_scope(kind, resource) #:nodoc: + def resource_scope(resource) #:nodoc: @scope = @scope.new(:scope_level_resource => resource) - with_scope_level(kind) do - controller_scope(resource.resource_scope) { yield } - end + controller_scope(resource.resource_scope) { yield } ensure @scope = @scope.parent end |