aboutsummaryrefslogtreecommitdiffstats
path: root/lib/arel/tree_manager.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/arel/tree_manager.rb')
-rw-r--r--lib/arel/tree_manager.rb9
1 files changed, 9 insertions, 0 deletions
diff --git a/lib/arel/tree_manager.rb b/lib/arel/tree_manager.rb
index 6176f8a250..2fa770a0e3 100644
--- a/lib/arel/tree_manager.rb
+++ b/lib/arel/tree_manager.rb
@@ -9,6 +9,7 @@ module Arel
def initialize engine
@engine = engine
@visitor = Visitors.visitor_for @engine
+ @ctx = nil
end
def to_dot
@@ -23,5 +24,13 @@ module Arel
super
@ast = @ast.clone
end
+
+ def where expr
+ if Arel::TreeManager === expr
+ expr = expr.ast
+ end
+ @ctx.wheres << expr
+ self
+ end
end
end