Class: Arel::TreeManager
- Inherits:
-
Object
show all
- Includes:
- FactoryMethods
- Defined in:
- lib/arel/tree_manager.rb
Instance Attribute Summary (collapse)
Instance Method Summary
(collapse)
#create_and, #create_false, #create_join, #create_on, #create_string_join, #create_table_alias, #create_true, #grouping, #lower
Constructor Details
- (TreeManager) initialize(engine)
A new instance of TreeManager
7
8
9
10
|
# File 'lib/arel/tree_manager.rb', line 7
def initialize engine
@engine = engine
@ctx = nil
end
|
Instance Attribute Details
- (Object) ast
Returns the value of attribute ast
5
6
7
|
# File 'lib/arel/tree_manager.rb', line 5
def ast
@ast
end
|
- (Object) engine
Returns the value of attribute engine
5
6
7
|
# File 'lib/arel/tree_manager.rb', line 5
def engine
@engine
end
|
Instance Method Details
- (Object) initialize_copy(other)
24
25
26
27
|
# File 'lib/arel/tree_manager.rb', line 24
def initialize_copy other
super
@ast = @ast.clone
end
|
- (Object) to_dot
12
13
14
|
# File 'lib/arel/tree_manager.rb', line 12
def to_dot
Visitors::Dot.new.accept @ast
end
|
- (Object) to_sql
20
21
22
|
# File 'lib/arel/tree_manager.rb', line 20
def to_sql
visitor.accept @ast
end
|
- (Object) visitor
16
17
18
|
# File 'lib/arel/tree_manager.rb', line 16
def visitor
engine.connection.visitor
end
|
- (Object) where(expr)
29
30
31
32
33
34
35
|
# File 'lib/arel/tree_manager.rb', line 29
def where expr
if Arel::TreeManager === expr
expr = expr.ast
end
@ctx.wheres << expr
self
end
|