diff options
author | Rafael França <rafaelmfranca@gmail.com> | 2016-02-19 18:03:55 -0200 |
---|---|---|
committer | Rafael França <rafaelmfranca@gmail.com> | 2016-02-19 18:03:55 -0200 |
commit | e0c6156c693efffd8009a116a96f7ff631e4db47 (patch) | |
tree | 9f5e09768bd98b94851c888f9b196cbced433791 /actionpack/lib/action_controller | |
parent | 4f44348602446217df89536e911f516b065de33a (diff) | |
parent | 30440363c077dc081f7f14a2a40ca72b0fbaae67 (diff) | |
download | rails-e0c6156c693efffd8009a116a96f7ff631e4db47.tar.gz rails-e0c6156c693efffd8009a116a96f7ff631e4db47.tar.bz2 rails-e0c6156c693efffd8009a116a96f7ff631e4db47.zip |
Merge pull request #23733 from bquorning/actioncontroller-parameters-equality
Deprecate AC::Parameters#== with Hash
Diffstat (limited to 'actionpack/lib/action_controller')
-rw-r--r-- | actionpack/lib/action_controller/metal/strong_parameters.rb | 26 |
1 files changed, 16 insertions, 10 deletions
diff --git a/actionpack/lib/action_controller/metal/strong_parameters.rb b/actionpack/lib/action_controller/metal/strong_parameters.rb index e17189f9f9..25ec3cf5b6 100644 --- a/actionpack/lib/action_controller/metal/strong_parameters.rb +++ b/actionpack/lib/action_controller/metal/strong_parameters.rb @@ -144,17 +144,21 @@ module ActionController end # Returns true if another +Parameters+ object contains the same content and - # permitted flag, or other Hash-like object contains the same content. This - # override is in place so you can perform a comparison with `Hash`. - def ==(other_hash) - if other_hash.respond_to?(:permitted?) - super + # permitted flag. + def ==(other) + if other.respond_to?(:permitted?) + self.permitted? == other.permitted? && self.parameters == other.parameters + elsif other.is_a?(Hash) + ActiveSupport::Deprecation.warn <<-WARNING.squish + Comparing equality between `ActionController::Parameters` and a + `Hash` is deprecated and will be removed in Rails 5.1. Please only do + comparisons between instances of `ActionController::Parameters`. If + you need to compare to a hash, first convert it using + `ActionController::Parameters#new`. + WARNING + @parameters == other.with_indifferent_access else - if other_hash.is_a?(Hash) - @parameters == other_hash.with_indifferent_access - else - @parameters == other_hash - end + @parameters == other end end @@ -597,6 +601,8 @@ module ActionController end protected + attr_reader :parameters + def permitted=(new_permitted) @permitted = new_permitted end |