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, _model) ⇒ Object
Methods inherited from Predicate
Methods inherited from Node
Constructor Details
#initialize(relation) ⇒ Exists
Returns a new instance of Exists.
1261 1262 1263 |
# File 'lib/active_record/refined/ast.rb', line 1261 def initialize(relation) @relation = relation end |
Instance Attribute Details
#relation ⇒ Object (readonly)
Returns the value of attribute relation.
1259 1260 1261 |
# File 'lib/active_record/refined/ast.rb', line 1259 def relation @relation end |
Instance Method Details
#to_arel(_table, _model) ⇒ Object
1265 1266 1267 1268 1269 1270 1271 |
# File 'lib/active_record/refined/ast.rb', line 1265 def to_arel(_table, _model) subquery = relation if subquery.eager_loading? subquery = subquery.send(:apply_join_dependency) end subquery.arel.exists end |