aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/relation/predicate_builder
diff options
context:
space:
mode:
authorRyuta Kamizono <kamipo@gmail.com>2016-05-28 17:19:09 +0900
committerRyuta Kamizono <kamipo@gmail.com>2016-05-28 17:19:09 +0900
commit09976b458ba181f15028328a7607ba6073bd8335 (patch)
tree3f89a1c6adf4bac921e3878d6438c0dc97463465 /activerecord/lib/active_record/relation/predicate_builder
parent3ce3b2233ad573ddd9142b6016de7c9158722ad4 (diff)
downloadrails-09976b458ba181f15028328a7607ba6073bd8335.tar.gz
rails-09976b458ba181f15028328a7607ba6073bd8335.tar.bz2
rails-09976b458ba181f15028328a7607ba6073bd8335.zip
Reuse a result of `table.associated_table(column)` in `AssociationQueryHandler.value_for`
Diffstat (limited to 'activerecord/lib/active_record/relation/predicate_builder')
-rw-r--r--activerecord/lib/active_record/relation/predicate_builder/association_query_handler.rb5
1 files changed, 3 insertions, 2 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 d7fd878265..413cb9fd84 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
@@ -2,13 +2,14 @@ module ActiveRecord
class PredicateBuilder
class AssociationQueryHandler # :nodoc:
def self.value_for(table, column, value)
- klass = if table.associated_table(column).polymorphic_association? && ::Array === value && value.first.is_a?(Base)
+ associated_table = table.associated_table(column)
+ klass = if associated_table.polymorphic_association? && ::Array === value && value.first.is_a?(Base)
PolymorphicArrayValue
else
AssociationQueryValue
end
- klass.new(table.associated_table(column), value)
+ klass.new(associated_table, value)
end
def initialize(predicate_builder)