Class: ActiveRecord::Refined::AST::Exists
- Defined in:
- lib/active_record/refined/ast.rb
Overview
EXISTS (SELECT ...) for a relation. Correlate the subquery with the outer table through qualified columns. EXISTS only asks whether a row comes back, so unlike In there is no select list to fix up.
Instance Attribute Summary collapse
-
#relation ⇒ Object
readonly
Returns the value of attribute relation.
Instance Method Summary collapse
-
#initialize(relation) ⇒ Exists
constructor
A new instance of Exists.
- #to_arel(_table) ⇒ Object
Methods inherited from Predicate
Methods inherited from Node
Constructor Details
#initialize(relation) ⇒ Exists
Returns a new instance of Exists.
577 578 579 |
# File 'lib/active_record/refined/ast.rb', line 577 def initialize(relation) @relation = relation end |
Instance Attribute Details
#relation ⇒ Object (readonly)
Returns the value of attribute relation.
575 576 577 |
# File 'lib/active_record/refined/ast.rb', line 575 def relation @relation end |
Instance Method Details
#to_arel(_table) ⇒ Object
581 582 583 584 585 586 587 |
# File 'lib/active_record/refined/ast.rb', line 581 def to_arel(_table) subquery = relation if subquery.eager_loading? subquery = subquery.send(:apply_join_dependency) end subquery.arel.exists end |