aboutsummaryrefslogtreecommitdiffstats
path: root/lib/arel/visitors/dot.rb
diff options
context:
space:
mode:
authorAaron Patterson <aaron.patterson@gmail.com>2010-08-13 18:28:38 -0700
committerAaron Patterson <aaron.patterson@gmail.com>2010-08-13 18:28:38 -0700
commit9fc70e22f9bf7df8485b90b3d7e4a5c58cb0ebbb (patch)
treea237455c0390c59b9b8a7fabb2b811141c4d76d9 /lib/arel/visitors/dot.rb
parent3eeed18e0cb71f5a56995c2d6a67eff0af618deb (diff)
downloadrails-9fc70e22f9bf7df8485b90b3d7e4a5c58cb0ebbb.tar.gz
rails-9fc70e22f9bf7df8485b90b3d7e4a5c58cb0ebbb.tar.bz2
rails-9fc70e22f9bf7df8485b90b3d7e4a5c58cb0ebbb.zip
insert manager implements "insert"
Diffstat (limited to 'lib/arel/visitors/dot.rb')
-rw-r--r--lib/arel/visitors/dot.rb22
1 files changed, 19 insertions, 3 deletions
diff --git a/lib/arel/visitors/dot.rb b/lib/arel/visitors/dot.rb
index 6fd2728839..4620920484 100644
--- a/lib/arel/visitors/dot.rb
+++ b/lib/arel/visitors/dot.rb
@@ -28,6 +28,17 @@ module Arel
end
private
+ def visit_Arel_Nodes_SelectCore o
+ visit_edge o, "froms"
+ visit_edge o, "projections"
+ visit_edge o, "wheres"
+ end
+
+ def visit_Arel_Nodes_SelectStatement o
+ visit_edge o, "cores"
+ visit_edge o, "limit"
+ end
+
def visit_Arel_Table o
visit_edge o, "name"
end
@@ -47,9 +58,14 @@ module Arel
alias :visit_NilClass :visit_String
def visit_Hash o
- o.each_with_index do |(k,v),i|
- edge("key_#{i}") { visit k }
- edge("value_#{i}") { visit v }
+ o.each_with_index do |pair, i|
+ edge("pair_#{i}") { visit pair }
+ end
+ end
+
+ def visit_Array o
+ o.each_with_index do |x,i|
+ edge(i) { visit x }
end
end