Refactor resource action scope methods
This commit is contained in:
parent
f415b3e6d1
commit
067c1aa0e0
@ -735,15 +735,15 @@ def resource(*resources, &block)
|
||||
resource_scope(SingletonResource.new(resources.pop, options)) do
|
||||
yield if block_given?
|
||||
|
||||
collection_scope do
|
||||
collection do
|
||||
post :create
|
||||
end if parent_resource.actions.include?(:create)
|
||||
|
||||
new_scope do
|
||||
new do
|
||||
get :new
|
||||
end if parent_resource.actions.include?(:new)
|
||||
|
||||
member_scope do
|
||||
member do
|
||||
get :edit if parent_resource.actions.include?(:edit)
|
||||
get :show if parent_resource.actions.include?(:show)
|
||||
put :update if parent_resource.actions.include?(:update)
|
||||
@ -780,16 +780,16 @@ def resources(*resources, &block)
|
||||
resource_scope(Resource.new(resources.pop, options)) do
|
||||
yield if block_given?
|
||||
|
||||
collection_scope do
|
||||
collection do
|
||||
get :index if parent_resource.actions.include?(:index)
|
||||
post :create if parent_resource.actions.include?(:create)
|
||||
end
|
||||
|
||||
new_scope do
|
||||
new do
|
||||
get :new
|
||||
end if parent_resource.actions.include?(:new)
|
||||
|
||||
member_scope do
|
||||
member do
|
||||
get :edit if parent_resource.actions.include?(:edit)
|
||||
get :show if parent_resource.actions.include?(:show)
|
||||
put :update if parent_resource.actions.include?(:update)
|
||||
@ -813,12 +813,14 @@ def resources(*resources, &block)
|
||||
# create the <tt>search_photos_url</tt> and <tt>search_photos_path</tt>
|
||||
# route helpers.
|
||||
def collection
|
||||
unless @scope[:scope_level] == :resources
|
||||
raise ArgumentError, "can't use collection outside resources scope"
|
||||
unless resource_scope?
|
||||
raise ArgumentError, "can't use collection outside resource(s) scope"
|
||||
end
|
||||
|
||||
collection_scope do
|
||||
yield
|
||||
with_scope_level(:collection) do
|
||||
scope(parent_resource.collection_scope) do
|
||||
yield
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@ -838,8 +840,10 @@ def member
|
||||
raise ArgumentError, "can't use member outside resource(s) scope"
|
||||
end
|
||||
|
||||
member_scope do
|
||||
yield
|
||||
with_scope_level(:member) do
|
||||
scope(parent_resource.member_scope) do
|
||||
yield
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@ -848,8 +852,10 @@ def new
|
||||
raise ArgumentError, "can't use new outside resource(s) scope"
|
||||
end
|
||||
|
||||
new_scope do
|
||||
yield
|
||||
with_scope_level(:new) do
|
||||
scope(parent_resource.new_scope(action_path(:new))) do
|
||||
yield
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@ -1034,30 +1040,6 @@ def resource_scope(resource)
|
||||
end
|
||||
end
|
||||
|
||||
def new_scope
|
||||
with_scope_level(:new) do
|
||||
scope(parent_resource.new_scope(action_path(:new))) do
|
||||
yield
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def collection_scope
|
||||
with_scope_level(:collection) do
|
||||
scope(parent_resource.collection_scope) do
|
||||
yield
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def member_scope
|
||||
with_scope_level(:member) do
|
||||
scope(parent_resource.member_scope) do
|
||||
yield
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def nested_options
|
||||
{}.tap do |options|
|
||||
options[:as] = parent_resource.member_name
|
||||
|
Loading…
Reference in New Issue
Block a user