aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOliver Günther <mail@oliverguenther.de>2016-08-27 14:39:52 +0200
committerOliver Günther <mail@oliverguenther.de>2016-08-27 14:39:52 +0200
commitfbbe05e409c5f24ac58095426d9c729ee611df00 (patch)
tree13dc41710ff1f0fe354e6013fd6b8b1723803cfd
parent09827f361d4bc73e6ff157d9feb74a465e4e4cdd (diff)
downloadrails-fbbe05e409c5f24ac58095426d9c729ee611df00.tar.gz
rails-fbbe05e409c5f24ac58095426d9c729ee611df00.tar.bz2
rails-fbbe05e409c5f24ac58095426d9c729ee611df00.zip
Add Arel::Nodes::Casted to dot visitor
Adds casted node to the dot visitor with outgoing edges to val and attribute. Fixes #419
-rw-r--r--lib/arel/visitors/dot.rb5
-rw-r--r--test/visitors/test_dot.rb1
2 files changed, 6 insertions, 0 deletions
diff --git a/lib/arel/visitors/dot.rb b/lib/arel/visitors/dot.rb
index ca8d2b0bd0..3faa126732 100644
--- a/lib/arel/visitors/dot.rb
+++ b/lib/arel/visitors/dot.rb
@@ -155,6 +155,11 @@ module Arel
visit_edge o, "name"
end
+ def visit_Arel_Nodes_Casted o
+ visit_edge o, 'val'
+ visit_edge o, 'attribute'
+ end
+
def visit_Arel_Attribute o
visit_edge o, "relation"
visit_edge o, "name"
diff --git a/test/visitors/test_dot.rb b/test/visitors/test_dot.rb
index 4dc3c9c6c5..fa1c69e10d 100644
--- a/test/visitors/test_dot.rb
+++ b/test/visitors/test_dot.rb
@@ -64,6 +64,7 @@ module Arel
Arel::Nodes::As,
Arel::Nodes::DeleteStatement,
Arel::Nodes::JoinSource,
+ Arel::Nodes::Casted,
].each do |klass|
define_method("test_#{klass.name.gsub('::', '_')}") do
binary = klass.new(:a, :b)