aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/relation/predicate_builder
diff options
context:
space:
mode:
authorRyuta Kamizono <kamipo@gmail.com>2017-04-09 17:25:43 +0900
committerRyuta Kamizono <kamipo@gmail.com>2017-04-09 17:25:43 +0900
commitbaf6072e4550cf2cf5e52240d0192a56dbe8e949 (patch)
tree3951c3c1f18b3d4375af448cb29c73a31c29201b /activerecord/lib/active_record/relation/predicate_builder
parentcc0b566a614f6172bd579f9f3ed5648e22ecd633 (diff)
downloadrails-baf6072e4550cf2cf5e52240d0192a56dbe8e949.tar.gz
rails-baf6072e4550cf2cf5e52240d0192a56dbe8e949.tar.bz2
rails-baf6072e4550cf2cf5e52240d0192a56dbe8e949.zip
Convert `AssociationQueryValue` to PORO queries
Diffstat (limited to 'activerecord/lib/active_record/relation/predicate_builder')
-rw-r--r--activerecord/lib/active_record/relation/predicate_builder/association_query_handler.rb30
1 files changed, 0 insertions, 30 deletions
diff --git a/activerecord/lib/active_record/relation/predicate_builder/association_query_handler.rb b/activerecord/lib/active_record/relation/predicate_builder/association_query_handler.rb
index 9141d9c537..cc39aff91a 100644
--- a/activerecord/lib/active_record/relation/predicate_builder/association_query_handler.rb
+++ b/activerecord/lib/active_record/relation/predicate_builder/association_query_handler.rb
@@ -1,35 +1,5 @@
module ActiveRecord
class PredicateBuilder
- class AssociationQueryHandler # :nodoc:
- def self.value_for(table, column, value)
- associated_table = table.associated_table(column)
- if associated_table.polymorphic_association?
- case value.is_a?(Array) ? value.first : value
- when Base, Relation
- value = [value] unless value.is_a?(Array)
- klass = PolymorphicArrayValue
- end
- end
-
- klass ||= AssociationQueryValue
- klass.new(associated_table, value)
- end
-
- def initialize(predicate_builder)
- @predicate_builder = predicate_builder
- end
-
- def call(attribute, value)
- predicate_builder.build_from_hash(value.queries)
- end
-
- # TODO Change this to private once we've dropped Ruby 2.2 support.
- # Workaround for Ruby 2.2 "private attribute?" warning.
- protected
-
- attr_reader :predicate_builder
- end
-
class AssociationQueryValue # :nodoc:
attr_reader :associated_table, :value