diff options
author | Ryuta Kamizono <kamipo@gmail.com> | 2018-01-29 21:28:42 +0900 |
---|---|---|
committer | Ryuta Kamizono <kamipo@gmail.com> | 2018-01-29 21:35:30 +0900 |
commit | 7ae26885d96daee3809d0bd50b1a440c2f5ffb69 (patch) | |
tree | c9991b23ddee1e77abb0e57c6fbf2cb7f756649c /activerecord | |
parent | bee764965e80b0f4f0a15c31b340f245779a7d89 (diff) | |
download | rails-7ae26885d96daee3809d0bd50b1a440c2f5ffb69.tar.gz rails-7ae26885d96daee3809d0bd50b1a440c2f5ffb69.tar.bz2 rails-7ae26885d96daee3809d0bd50b1a440c2f5ffb69.zip |
Deprecate `expand_hash_conditions_for_aggregates`
This can not expand an array of aggregated objects correctly, and is no
longer used internally since 159b21b5.
Diffstat (limited to 'activerecord')
-rw-r--r-- | activerecord/CHANGELOG.md | 5 | ||||
-rw-r--r-- | activerecord/lib/active_record/sanitization.rb | 1 | ||||
-rw-r--r-- | activerecord/test/cases/sanitize_test.rb | 7 |
3 files changed, 13 insertions, 0 deletions
diff --git a/activerecord/CHANGELOG.md b/activerecord/CHANGELOG.md index fd9f2553ff..05a44fe760 100644 --- a/activerecord/CHANGELOG.md +++ b/activerecord/CHANGELOG.md @@ -1,3 +1,8 @@ +* Deprecate `expand_hash_conditions_for_aggregates` without replacement. + Using a `Relation` for performing queries is the prefered API. + + *Ryuta Kamizono* + * Fix not expanded problem when passing an Array object as argument to the where method using `composed_of` column. ``` diff --git a/activerecord/lib/active_record/sanitization.rb b/activerecord/lib/active_record/sanitization.rb index 173794b8f4..f1ca79ebab 100644 --- a/activerecord/lib/active_record/sanitization.rb +++ b/activerecord/lib/active_record/sanitization.rb @@ -169,6 +169,7 @@ module ActiveRecord end expanded_attrs end + deprecate :expand_hash_conditions_for_aggregates def replace_bind_variables(statement, values) raise_if_bind_arity_mismatch(statement, statement.count("?"), values.size) diff --git a/activerecord/test/cases/sanitize_test.rb b/activerecord/test/cases/sanitize_test.rb index 1b0605e369..778cf86ac3 100644 --- a/activerecord/test/cases/sanitize_test.rb +++ b/activerecord/test/cases/sanitize_test.rb @@ -4,6 +4,7 @@ require "cases/helper" require "models/binary" require "models/author" require "models/post" +require "models/customer" class SanitizeTest < ActiveRecord::TestCase def setup @@ -167,6 +168,12 @@ class SanitizeTest < ActiveRecord::TestCase assert_equal "#{ActiveRecord::Base.connection.quote('10')}::integer '2009-01-01'::date", l.call end + def test_deprecated_expand_hash_conditions_for_aggregates + assert_deprecated do + assert_equal({ "balance" => 50 }, Customer.send(:expand_hash_conditions_for_aggregates, balance: Money.new(50))) + end + end + private def bind(statement, *vars) if vars.first.is_a?(Hash) |