aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoshua Peek <josh@joshpeek.com>2010-01-15 15:59:07 -0600
committerJoshua Peek <josh@joshpeek.com>2010-01-15 16:13:01 -0600
commit576b8dda52b0d0d099f88241ef6f4ec1e1248c3b (patch)
tree216cf3c5507ba852ddcbdb0fc58f886ce7c5c564
parent21ce8eac9b9bd8e14e3396caf2e30751889e26cb (diff)
downloadrails-576b8dda52b0d0d099f88241ef6f4ec1e1248c3b.tar.gz
rails-576b8dda52b0d0d099f88241ef6f4ec1e1248c3b.tar.bz2
rails-576b8dda52b0d0d099f88241ef6f4ec1e1248c3b.zip
Cleanup internal resource macro to use method helper shorthand
-rw-r--r--actionpack/lib/action_dispatch/routing/mapper.rb34
-rw-r--r--actionpack/test/dispatch/routing_test.rb12
2 files changed, 26 insertions, 20 deletions
diff --git a/actionpack/lib/action_dispatch/routing/mapper.rb b/actionpack/lib/action_dispatch/routing/mapper.rb
index 6ff573443b..3c13cf88f4 100644
--- a/actionpack/lib/action_dispatch/routing/mapper.rb
+++ b/actionpack/lib/action_dispatch/routing/mapper.rb
@@ -344,7 +344,7 @@ module ActionDispatch
end
module Resources
- CRUD_ACTIONS = [:index, :show, :new, :edit, :create, :update, :destroy]
+ CRUD_ACTIONS = [:index, :show, :create, :update, :destroy]
class Resource #:nodoc:
def self.default_actions
@@ -444,12 +444,12 @@ module ActionDispatch
with_scope_level(:resource, resource) do
yield if block_given?
- get "(.:format)", :to => :show, :as => resource.member_name if resource.actions.include?(:show)
- post "(.:format)", :to => :create if resource.actions.include?(:create)
- put "(.:format)", :to => :update if resource.actions.include?(:update)
- delete "(.:format)", :to => :destroy if resource.actions.include?(:destroy)
- get "/#{action_path(:new)}(.:format)", :to => :new, :as => "new_#{resource.singular}" if resource.actions.include?(:new)
- get "/#{action_path(:edit)}(.:format)", :to => :edit, :as => "edit_#{resource.singular}" if resource.actions.include?(:edit)
+ get :show, :as => resource.member_name if resource.actions.include?(:show)
+ post :create if resource.actions.include?(:create)
+ put :update if resource.actions.include?(:update)
+ delete :destroy if resource.actions.include?(:destroy)
+ get :new, :as => "new_#{resource.singular}" if resource.actions.include?(:new)
+ get :edit, :as => "edit_#{resource.singular}" if resource.actions.include?(:edit)
end
end
@@ -486,23 +486,17 @@ module ActionDispatch
yield if block_given?
with_scope_level(:collection) do
- get "(.:format)", :to => :index, :as => resource.collection_name if resource.actions.include?(:index)
- post "(.:format)", :to => :create if resource.actions.include?(:create)
-
- with_exclusive_name_prefix :new do
- get "/#{action_path(:new)}(.:format)", :to => :new, :as => resource.singular if resource.actions.include?(:new)
- end
+ get :index, :as => resource.collection_name if resource.actions.include?(:index)
+ post :create if resource.actions.include?(:create)
+ get :new, :as => resource.singular if resource.actions.include?(:new)
end
with_scope_level(:member) do
scope("/:id") do
- get "(.:format)", :to => :show, :as => resource.member_name if resource.actions.include?(:show)
- put "(.:format)", :to => :update if resource.actions.include?(:update)
- delete "(.:format)", :to => :destroy if resource.actions.include?(:destroy)
-
- with_exclusive_name_prefix :edit do
- get "/#{action_path(:edit)}(.:format)", :to => :edit, :as => resource.singular if resource.actions.include?(:edit)
- end
+ get :show, :as => resource.member_name if resource.actions.include?(:show)
+ put :update if resource.actions.include?(:update)
+ delete :destroy if resource.actions.include?(:destroy)
+ get :edit, :as => resource.singular if resource.actions.include?(:edit)
end
end
end
diff --git a/actionpack/test/dispatch/routing_test.rb b/actionpack/test/dispatch/routing_test.rb
index 2fcc5fef35..23581c8a17 100644
--- a/actionpack/test/dispatch/routing_test.rb
+++ b/actionpack/test/dispatch/routing_test.rb
@@ -211,8 +211,17 @@ class TestRoutingMapper < ActionDispatch::IntegrationTest
post '/session'
assert_equal 'sessions#create', @response.body
+ put '/session'
+ assert_equal 'sessions#update', @response.body
+
+ delete '/session'
+ assert_equal 'sessions#destroy', @response.body
+
get '/session/new'
assert_equal 'sessions#new', @response.body
+
+ get '/session/edit'
+ assert_equal 'sessions#edit', @response.body
end
end
@@ -284,6 +293,9 @@ class TestRoutingMapper < ActionDispatch::IntegrationTest
assert_equal 'projects#index', @response.body
assert_equal '/projects', projects_path
+ post '/projects'
+ assert_equal 'projects#create', @response.body
+
get '/projects.xml'
assert_equal 'projects#index', @response.body
assert_equal '/projects.xml', projects_path(:format => 'xml')