aboutsummaryrefslogtreecommitdiffstats
path: root/lib/arel/visitors/dot.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/arel/visitors/dot.rb')
-rw-r--r--lib/arel/visitors/dot.rb11
1 files changed, 9 insertions, 2 deletions
diff --git a/lib/arel/visitors/dot.rb b/lib/arel/visitors/dot.rb
index ca8d2b0bd0..9aa22d33f6 100644
--- a/lib/arel/visitors/dot.rb
+++ b/lib/arel/visitors/dot.rb
@@ -1,3 +1,4 @@
+# frozen_string_literal: true
module Arel
module Visitors
class Dot < Arel::Visitors::Visitor
@@ -155,6 +156,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"
@@ -204,7 +210,6 @@ module Arel
alias :visit_NilClass :visit_String
alias :visit_TrueClass :visit_String
alias :visit_FalseClass :visit_String
- alias :visit_Arel_Nodes_BindParam :visit_String
alias :visit_Integer :visit_String
alias :visit_Fixnum :visit_String
alias :visit_BigDecimal :visit_String
@@ -212,6 +217,8 @@ module Arel
alias :visit_Symbol :visit_String
alias :visit_Arel_Nodes_SqlLiteral :visit_String
+ def visit_Arel_Nodes_BindParam o; end
+
def visit_Hash o
o.each_with_index do |pair, i|
edge("pair_#{i}") { visit pair }
@@ -271,7 +278,7 @@ module Arel
label = "<f0>#{node.name}"
node.fields.each_with_index do |field, i|
- label << "|<f#{i + 1}>#{quote field}"
+ label += "|<f#{i + 1}>#{quote field}"
end
"#{node.id} [label=\"#{label}\"];"