Merge pull request #7789 from senny/7777_resource_functions_modify_options
resource and resources do no longer modify passed options
This commit is contained in:
commit
d0ad97b9f5
@ -1,5 +1,10 @@
|
||||
## Rails 4.0.0 (unreleased) ##
|
||||
|
||||
* `resource` and `resources` don't modify the passed options hash
|
||||
Fix #7777
|
||||
|
||||
*Yves Senn*
|
||||
|
||||
* Precompiled assets include aliases from foo.js to foo/index.js and vice versa.
|
||||
|
||||
# Precompiles phone-<digest>.css and aliases phone/index.css to phone.css.
|
||||
|
@ -1038,7 +1038,7 @@ def resources_path_names(options)
|
||||
# === Options
|
||||
# Takes same options as +resources+.
|
||||
def resource(*resources, &block)
|
||||
options = resources.extract_options!
|
||||
options = resources.extract_options!.dup
|
||||
|
||||
if apply_common_behavior_for(:resource, resources, options, &block)
|
||||
return self
|
||||
@ -1204,7 +1204,7 @@ def resource(*resources, &block)
|
||||
# # resource actions are at /admin/posts.
|
||||
# resources :posts, :path => "admin/posts"
|
||||
def resources(*resources, &block)
|
||||
options = resources.extract_options!
|
||||
options = resources.extract_options!.dup
|
||||
|
||||
if apply_common_behavior_for(:resources, resources, options, &block)
|
||||
return self
|
||||
|
@ -1124,6 +1124,26 @@ def test_resources_for_uncountable_names
|
||||
assert_equal '/sheep/1/_it', _it_sheep_path(1)
|
||||
end
|
||||
|
||||
def test_resource_does_not_modify_passed_options
|
||||
options = {:id => /.+?/, :format => /json|xml/}
|
||||
self.class.stub_controllers do |routes|
|
||||
routes.draw do
|
||||
resource :user, options
|
||||
end
|
||||
end
|
||||
assert_equal({:id => /.+?/, :format => /json|xml/}, options)
|
||||
end
|
||||
|
||||
def test_resources_does_not_modify_passed_options
|
||||
options = {:id => /.+?/, :format => /json|xml/}
|
||||
self.class.stub_controllers do |routes|
|
||||
routes.draw do
|
||||
resources :users, options
|
||||
end
|
||||
end
|
||||
assert_equal({:id => /.+?/, :format => /json|xml/}, options)
|
||||
end
|
||||
|
||||
def test_path_names
|
||||
get '/pt/projetos'
|
||||
assert_equal 'projects#index', @response.body
|
||||
|
Loading…
Reference in New Issue
Block a user