Class: Arel::TreeManager
- Inherits:
-
Object
show all
- Includes:
- Relation
- Defined in:
- lib/arel/tree_manager.rb
Instance Attribute Summary collapse
Instance Method Summary
collapse
Constructor Details
9
10
11
12
13
|
# File 'lib/arel/tree_manager.rb', line 9
def initialize engine
@engine = engine
@visitor = Visitors.visitor_for @engine
@ctx = nil
end
|
Instance Attribute Details
#ast ⇒ Object
Returns the value of attribute ast.
7
8
9
|
# File 'lib/arel/tree_manager.rb', line 7
def ast
@ast
end
|
#engine ⇒ Object
Returns the value of attribute engine.
7
8
9
|
# File 'lib/arel/tree_manager.rb', line 7
def engine
@engine
end
|
#visitor ⇒ Object
Returns the value of attribute visitor.
6
7
8
|
# File 'lib/arel/tree_manager.rb', line 6
def visitor
@visitor
end
|
Instance Method Details
#initialize_copy(other) ⇒ Object
23
24
25
26
|
# File 'lib/arel/tree_manager.rb', line 23
def initialize_copy other
super
@ast = @ast.clone
end
|
#to_sql ⇒ Object
19
20
21
|
# File 'lib/arel/tree_manager.rb', line 19
def to_sql
@visitor.accept @ast
end
|
#where(expr) ⇒ Object
28
29
30
31
32
33
34
|
# File 'lib/arel/tree_manager.rb', line 28
def where expr
if Arel::TreeManager === expr
expr = expr.ast
end
@ctx.wheres << expr
self
end
|