Skip to content
Permalink
Browse files
Remove deprecated expand_hash_conditions_for_aggregates
  • Loading branch information
rafaelfranca committed Jan 17, 2019
1 parent 60c8a03 commit 27b252d6a85e300c7236d034d55ec8e44f57a83e
@@ -1,7 +1,11 @@
* Set polymorphic type column to NULL on `dependent: :nullify` strategy.

* Remove deprecated `expand_hash_conditions_for_aggregates`.

*Rafael Mendonça França*

* Set polymorphic type column to NULL on `dependent: :nullify` strategy.

On polymorphic associations both the foreign key and the foreign type columns will be set to NULL.

*Laerti Papa*

* Allow `ActionController::Params` as argument of `ActiveRecord::Base#exists?`.
@@ -134,43 +134,6 @@ def sanitize_sql_array(ary)
end

private
# Accepts a hash of SQL conditions and replaces those attributes
# that correspond to a {#composed_of}[rdoc-ref:Aggregations::ClassMethods#composed_of]
# relationship with their expanded aggregate attribute values.
#
# Given:
#
# class Person < ActiveRecord::Base
# composed_of :address, class_name: "Address",
# mapping: [%w(address_street street), %w(address_city city)]
# end
#
# Then:
#
# { address: Address.new("813 abc st.", "chicago") }
# # => { address_street: "813 abc st.", address_city: "chicago" }
def expand_hash_conditions_for_aggregates(attrs) # :doc:
expanded_attrs = {}
attrs.each do |attr, value|
if aggregation = reflect_on_aggregation(attr.to_sym)
mapping = aggregation.mapping
mapping.each do |field_attr, aggregate_attr|
expanded_attrs[field_attr] = if value.is_a?(Array)
value.map { |it| it.send(aggregate_attr) }
elsif mapping.size == 1 && !value.respond_to?(aggregate_attr)
value
else
value.send(aggregate_attr)
end
end
else
expanded_attrs[attr] = value
end
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)
bound = values.dup
@@ -168,12 +168,6 @@ def test_named_bind_with_postgresql_type_casts
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)

0 comments on commit 27b252d

Please sign in to comment.