Class: ActiveRecord::PredicateBuilder::RelationHandler

Inherits:
Object
  • Object
show all
Defined in:
lib/active_record/relation/predicate_builder/relation_handler.rb

Overview

:nodoc:

Instance Method Summary collapse

Instance Method Details

#call(attribute, value) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
# File 'lib/active_record/relation/predicate_builder/relation_handler.rb', line 4

def call(attribute, value)
  if value.select_values.empty?
    value = value.select(value.klass.arel_table[value.klass.primary_key])
  end

  value = value.dup
  value.where_values = value.where_values.map do |node|
    node.dup rescue node
  end
  attribute.in(value.arel.ast)
end