diff options
author | Jon Leighton <j@jonathanleighton.com> | 2011-08-16 00:59:59 +0100 |
---|---|---|
committer | Jon Leighton <j@jonathanleighton.com> | 2011-08-16 00:59:59 +0100 |
commit | 6c5f67cac15c43bafcd917c346cccfcf3fa5fb95 (patch) | |
tree | 6932752930fcc50e6799024b32d6dbc4bdd7670b | |
parent | 03a045b306768e12bb0f1480040aa9e93e8d6338 (diff) | |
download | rails-6c5f67cac15c43bafcd917c346cccfcf3fa5fb95.tar.gz rails-6c5f67cac15c43bafcd917c346cccfcf3fa5fb95.tar.bz2 rails-6c5f67cac15c43bafcd917c346cccfcf3fa5fb95.zip |
Don't refer to ActionController::Base in the wrap_parameters initializer - use config object instead. Cuts about 15% off the load time. (#734)
3 files changed, 10 insertions, 1 deletions
diff --git a/actionpack/lib/action_controller/metal/params_wrapper.rb b/actionpack/lib/action_controller/metal/params_wrapper.rb index 2d8afc3a78..dfc4e3d72c 100644 --- a/actionpack/lib/action_controller/metal/params_wrapper.rb +++ b/actionpack/lib/action_controller/metal/params_wrapper.rb @@ -121,6 +121,8 @@ module ActionController _set_wrapper_defaults(_wrapper_options.slice(:format).merge(options), model) end + alias :wrap_parameters= :wrap_parameters + # Sets the default wrapper key or model which will be used to determine # wrapper key and attribute names. Will be called automatically when the # module is inherited. diff --git a/actionpack/test/controller/params_wrapper_test.rb b/actionpack/test/controller/params_wrapper_test.rb index 7bef1e8d5d..e1914cf894 100644 --- a/actionpack/test/controller/params_wrapper_test.rb +++ b/actionpack/test/controller/params_wrapper_test.rb @@ -180,6 +180,13 @@ class ParamsWrapperTest < ActionController::TestCase assert_parameters({ 'username' => 'sikachu', 'title' => 'Developer', 'user' => { 'username' => 'sikachu', 'title' => 'Developer' }}) end end + + def test_assignment_alias + with_default_wrapper_options do + UsersController.wrap_parameters = { :format => [:foo] } + assert_equal({ :format => [:foo], :name => "user" }, UsersController._wrapper_options) + end + end end class NamespacedParamsWrapperTest < ActionController::TestCase diff --git a/railties/lib/rails/generators/rails/app/templates/config/initializers/wrap_parameters.rb.tt b/railties/lib/rails/generators/rails/app/templates/config/initializers/wrap_parameters.rb.tt index fa1548db8b..45c7e531ba 100644 --- a/railties/lib/rails/generators/rails/app/templates/config/initializers/wrap_parameters.rb.tt +++ b/railties/lib/rails/generators/rails/app/templates/config/initializers/wrap_parameters.rb.tt @@ -4,7 +4,7 @@ # is enabled by default. # Enable parameter wrapping for JSON. You can disable this by setting :format to an empty array. -ActionController::Base.wrap_parameters <%= key_value :format, "[:json]" %> +<%= app_const %>.config.wrap_parameters <%= key_value :format, "[:json]" %> # Disable root element in JSON by default. if defined?(ActiveRecord) |