From 968596fa7f2cd3218f8361a1ef19b666439ce142 Mon Sep 17 00:00:00 2001 From: Josh Kalderimis Date: Thu, 19 May 2011 10:33:25 -0400 Subject: renamed the wrap_parameters :only and :except options to :include and :exclude to make it consistent with controller filters --- .../lib/action_controller/metal/params_wrapper.rb | 34 +++++++++++----------- actionpack/test/controller/log_subscriber_test.rb | 6 ++-- actionpack/test/controller/params_wrapper_test.rb | 12 ++++---- 3 files changed, 26 insertions(+), 26 deletions(-) (limited to 'actionpack') diff --git a/actionpack/lib/action_controller/metal/params_wrapper.rb b/actionpack/lib/action_controller/metal/params_wrapper.rb index 93241fc056..5500f88930 100644 --- a/actionpack/lib/action_controller/metal/params_wrapper.rb +++ b/actionpack/lib/action_controller/metal/params_wrapper.rb @@ -37,11 +37,11 @@ module ActionController # {"name" => "Konata", "user" => {"name" => "Konata"}} # # You can also specify the key in which the parameters should be wrapped to, - # and also the list of attributes it should wrap by using either +:only+ or - # +:except+ options like this: + # and also the list of attributes it should wrap by using either +:include+ or + # +:exclude+ options like this: # # class UsersController < ApplicationController - # wrap_parameters :person, :only => [:username, :password] + # wrap_parameters :person, :include => [:username, :password] # end # # If you're going to pass the parameters to an +ActiveModel+ object (such as @@ -53,7 +53,7 @@ module ActionController # wrap_parameters Person # end # - # You still could pass +:only+ and +:except+ to set the list of attributes + # You still could pass +:include+ and +:exclude+ to set the list of attributes # you want to wrap. # # By default, if you don't specify the key in which the parameters would be @@ -73,7 +73,7 @@ module ActionController included do class_attribute :_wrapper_options - self._wrapper_options = {:format => []} + self._wrapper_options = { :format => [] } end module ClassMethods @@ -91,7 +91,7 @@ module ActionController # # wraps parameters by determine the wrapper key from Person class # (+person+, in this case) and the list of attribute names # - # wrap_parameters :only => [:username, :title] + # wrap_parameters :include => [:username, :title] # # wraps only +:username+ and +:title+ attributes from parameters. # # wrap_parameters false @@ -100,9 +100,9 @@ module ActionController # ==== Options # * :format - The list of formats in which the parameters wrapper # will be enabled. - # * :only - The list of attribute names which parameters wrapper + # * :include - The list of attribute names which parameters wrapper # will wrap into a nested hash. - # * :except - The list of attribute names which parameters wrapper + # * :exclude - The list of attribute names which parameters wrapper # will exclude from a nested hash. def wrap_parameters(name_or_model_or_options, options = {}) model = nil @@ -164,10 +164,10 @@ module ActionController def _set_wrapper_defaults(options, model=nil) options = options.dup - unless options[:only] || options[:except] + unless options[:include] || options[:exclude] model ||= _default_wrap_model if model.respond_to?(:attribute_names) && model.attribute_names.present? - options[:only] = model.attribute_names + options[:include] = model.attribute_names end end @@ -177,9 +177,9 @@ module ActionController controller_name.singularize end - options[:only] = Array.wrap(options[:only]).collect(&:to_s) if options[:only] - options[:except] = Array.wrap(options[:except]).collect(&:to_s) if options[:except] - options[:format] = Array.wrap(options[:format]) + options[:include] = Array.wrap(options[:include]).collect(&:to_s) if options[:include] + options[:exclude] = Array.wrap(options[:exclude]).collect(&:to_s) if options[:exclude] + options[:format] = Array.wrap(options[:format]) self._wrapper_options = options end @@ -216,11 +216,11 @@ module ActionController # Returns the list of parameters which will be selected for wrapped. def _wrap_parameters(parameters) - value = if only = _wrapper_options[:only] - parameters.slice(*only) + value = if include_only = _wrapper_options[:include] + parameters.slice(*include_only) else - except = _wrapper_options[:except] || [] - parameters.except(*(except + EXCLUDE_PARAMETERS)) + exclude = _wrapper_options[:exclude] || [] + parameters.except(*(exclude + EXCLUDE_PARAMETERS)) end { _wrapper_key => value } diff --git a/actionpack/test/controller/log_subscriber_test.rb b/actionpack/test/controller/log_subscriber_test.rb index 5d7a51e902..80c4fa2ee5 100644 --- a/actionpack/test/controller/log_subscriber_test.rb +++ b/actionpack/test/controller/log_subscriber_test.rb @@ -4,7 +4,7 @@ require "action_controller/log_subscriber" module Another class LogSubscribersController < ActionController::Base - wrap_parameters :person, :only => :name, :format => :json + wrap_parameters :person, :include => :name, :format => :json def show render :nothing => true @@ -34,11 +34,11 @@ module Another cache_page("Super soaker", "/index.html") render :nothing => true end - + def with_exception raise Exception end - + end end diff --git a/actionpack/test/controller/params_wrapper_test.rb b/actionpack/test/controller/params_wrapper_test.rb index a50065bcc7..7bef1e8d5d 100644 --- a/actionpack/test/controller/params_wrapper_test.rb +++ b/actionpack/test/controller/params_wrapper_test.rb @@ -65,9 +65,9 @@ class ParamsWrapperTest < ActionController::TestCase end end - def test_specify_only_option + def test_specify_include_option with_default_wrapper_options do - UsersController.wrap_parameters :only => :username + UsersController.wrap_parameters :include => :username @request.env['CONTENT_TYPE'] = 'application/json' post :parse, { 'username' => 'sikachu', 'title' => 'Developer' } @@ -75,9 +75,9 @@ class ParamsWrapperTest < ActionController::TestCase end end - def test_specify_except_option + def test_specify_exclude_option with_default_wrapper_options do - UsersController.wrap_parameters :except => :title + UsersController.wrap_parameters :exclude => :title @request.env['CONTENT_TYPE'] = 'application/json' post :parse, { 'username' => 'sikachu', 'title' => 'Developer' } @@ -85,9 +85,9 @@ class ParamsWrapperTest < ActionController::TestCase end end - def test_specify_both_wrapper_name_and_only_option + def test_specify_both_wrapper_name_and_include_option with_default_wrapper_options do - UsersController.wrap_parameters :person, :only => :username + UsersController.wrap_parameters :person, :include => :username @request.env['CONTENT_TYPE'] = 'application/json' post :parse, { 'username' => 'sikachu', 'title' => 'Developer' } -- cgit v1.2.3