aboutsummaryrefslogtreecommitdiffstats
path: root/lib/arel/visitors/dot.rb
diff options
context:
space:
mode:
authorAaron Patterson <aaron.patterson@gmail.com>2011-01-04 20:27:34 -0800
committerAaron Patterson <aaron.patterson@gmail.com>2011-01-04 20:27:34 -0800
commitf0c4e3713d72a18a4100f85e263014f6e56bfad3 (patch)
treeccdcde4adb5ebfc4920daff19aa8ad38477b5caf /lib/arel/visitors/dot.rb
parentdd1a65456fbfdc1f2a337aca535576d84145dcb6 (diff)
downloadrails-f0c4e3713d72a18a4100f85e263014f6e56bfad3.tar.gz
rails-f0c4e3713d72a18a4100f85e263014f6e56bfad3.tar.bz2
rails-f0c4e3713d72a18a4100f85e263014f6e56bfad3.zip
Added Arel::Nodes::NamedFunction for representing generic SQL functions
Diffstat (limited to 'lib/arel/visitors/dot.rb')
-rw-r--r--lib/arel/visitors/dot.rb25
1 files changed, 18 insertions, 7 deletions
diff --git a/lib/arel/visitors/dot.rb b/lib/arel/visitors/dot.rb
index 3c4fe12d1f..92d05c7b67 100644
--- a/lib/arel/visitors/dot.rb
+++ b/lib/arel/visitors/dot.rb
@@ -38,13 +38,6 @@ module Arel
visit_edge o, "relation"
end
- def visit_Arel_Nodes_Sum o
- visit_edge o, "expressions"
- visit_edge o, "alias"
- end
- alias :visit_Arel_Nodes_Max :visit_Arel_Nodes_Sum
- alias :visit_Arel_Nodes_Avg :visit_Arel_Nodes_Sum
-
def visit_Arel_Nodes_Count o
visit_edge o, "expressions"
visit_edge o, "distinct"
@@ -82,6 +75,24 @@ module Arel
alias :visit_Arel_Nodes_Top :unary
alias :visit_Arel_Nodes_UnqualifiedColumn :unary
+ def function o
+ visit_edge o, "expressions"
+ visit_edge o, "distinct"
+ visit_edge o, "alias"
+ end
+ alias :visit_Arel_Nodes_Exists :function
+ alias :visit_Arel_Nodes_Min :function
+ alias :visit_Arel_Nodes_Max :function
+ alias :visit_Arel_Nodes_Avg :function
+ alias :visit_Arel_Nodes_Sum :function
+
+ def visit_Arel_Nodes_NamedFunction o
+ visit_edge o, "name"
+ visit_edge o, "expressions"
+ visit_edge o, "distinct"
+ visit_edge o, "alias"
+ end
+
def visit_Arel_Nodes_InsertStatement o
visit_edge o, "relation"
visit_edge o, "columns"