diff options
author | Melanie Gilman <melanie@thoughtbot.com> | 2014-12-02 11:04:38 -0500 |
---|---|---|
committer | Melanie Gilman <melanie@thoughtbot.com> | 2014-12-02 11:04:38 -0500 |
commit | 502bc87fbaeb2917e3d7eb3d26badff887073c4e (patch) | |
tree | 34fdf78fc795e7b97b90301683d45ee2d2424b3d /activerecord/lib/active_record/sanitization.rb | |
parent | bc8cc56a2ae0b73276782d66b7dceba1ecd294a2 (diff) | |
download | rails-502bc87fbaeb2917e3d7eb3d26badff887073c4e.tar.gz rails-502bc87fbaeb2917e3d7eb3d26badff887073c4e.tar.bz2 rails-502bc87fbaeb2917e3d7eb3d26badff887073c4e.zip |
Refactor `PredicateBuilder` from singleton to instance
Diffstat (limited to 'activerecord/lib/active_record/sanitization.rb')
-rw-r--r-- | activerecord/lib/active_record/sanitization.rb | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/activerecord/lib/active_record/sanitization.rb b/activerecord/lib/active_record/sanitization.rb index 88dfddebcc..6c103e331f 100644 --- a/activerecord/lib/active_record/sanitization.rb +++ b/activerecord/lib/active_record/sanitization.rb @@ -87,14 +87,15 @@ module ActiveRecord # { address: Address.new("123 abc st.", "chicago") } # # => "address_street='123 abc st.' and address_city='chicago'" def sanitize_sql_hash_for_conditions(attrs, default_table_name = self.table_name) + table = Arel::Table.new(table_name).alias(default_table_name) + predicate_builder = PredicateBuilder.new(self, table) ActiveSupport::Deprecation.warn(<<-EOWARN) sanitize_sql_hash_for_conditions is deprecated, and will be removed in Rails 5.0 EOWARN - attrs = PredicateBuilder.resolve_column_aliases self, attrs + attrs = predicate_builder.resolve_column_aliases(attrs) attrs = expand_hash_conditions_for_aggregates(attrs) - table = Arel::Table.new(table_name).alias(default_table_name) - PredicateBuilder.build_from_hash(self, attrs, table).map { |b| + predicate_builder.build_from_hash(attrs).map { |b| connection.visitor.compile b }.join(' AND ') end |