# File lib/arel/visitors/dot.rb, line 143 143: def binary o 144: visit_edge o, "left" 145: visit_edge o, "right" 146: end
# File lib/arel/visitors/dot.rb, line 209 209: def edge name 210: edge = Edge.new(name, @node_stack.last) 211: @edge_stack.push edge 212: @edges << edge 213: yield 214: @edge_stack.pop 215: end
# File lib/arel/visitors/dot.rb, line 78 78: def function o 79: visit_edge o, "expressions" 80: visit_edge o, "distinct" 81: visit_edge o, "alias" 82: end
# File lib/arel/visitors/dot.rb, line 136 136: def nary o 137: o.children.each_with_index do |x,i| 138: edge(i) { visit x } 139: end 140: end
# File lib/arel/visitors/dot.rb, line 227 227: def quote string 228: string.to_s.gsub('"', '\"') 229: end
# File lib/arel/visitors/dot.rb, line 231 231: def to_dot 232: "digraph \"ARel\" {\nnode [width=0.375,height=0.25,shape=record];\n" + 233: @nodes.map { |node| 234: label = "<f0>#{node.name}" 235: 236: node.fields.each_with_index do |field, i| 237: label << "|<f#{i + 1}>#{quote field}" 238: end 239: 240: "#{node.id} [label=\"#{label}\"];" 241: }.join("\n") + "\n" + @edges.map { |edge| 242: "#{edge.from.id} -> #{edge.to.id} [label=\"#{edge.name}\"];" 243: }.join("\n") + "\n}" 244: end
# File lib/arel/visitors/dot.rb, line 64 64: def unary o 65: visit_edge o, "expr" 66: end
# File lib/arel/visitors/dot.rb, line 195 195: def visit o 196: if node = @seen[o.object_id] 197: @edge_stack.last.to = node 198: return 199: end 200: 201: node = Node.new(o.class.name, o.object_id) 202: @seen[node.id] = node 203: @nodes << node 204: with_node node do 205: super 206: end 207: end
# File lib/arel/visitors/dot.rb, line 125 125: def visit_Arel_Attribute o 126: visit_edge o, "relation" 127: visit_edge o, "name" 128: end
# File lib/arel/visitors/dot.rb, line 40 40: def visit_Arel_Nodes_Count o 41: visit_edge o, "expressions" 42: visit_edge o, "distinct" 43: end
# File lib/arel/visitors/dot.rb, line 59 59: def visit_Arel_Nodes_DeleteStatement o 60: visit_edge o, "relation" 61: visit_edge o, "wheres" 62: end
# File lib/arel/visitors/dot.rb, line 53 53: def visit_Arel_Nodes_InnerJoin o 54: visit_edge o, "left" 55: visit_edge o, "right" 56: end
# File lib/arel/visitors/dot.rb, line 96 96: def visit_Arel_Nodes_InsertStatement o 97: visit_edge o, "relation" 98: visit_edge o, "columns" 99: visit_edge o, "values" 100: end
# File lib/arel/visitors/dot.rb, line 89 89: def visit_Arel_Nodes_NamedFunction o 90: visit_edge o, "name" 91: visit_edge o, "expressions" 92: visit_edge o, "distinct" 93: visit_edge o, "alias" 94: end
# File lib/arel/visitors/dot.rb, line 31 31: def visit_Arel_Nodes_Ordering o 32: visit_edge o, "expr" 33: end
# File lib/arel/visitors/dot.rb, line 102 102: def visit_Arel_Nodes_SelectCore o 103: visit_edge o, "source" 104: visit_edge o, "projections" 105: visit_edge o, "wheres" 106: end
# File lib/arel/visitors/dot.rb, line 108 108: def visit_Arel_Nodes_SelectStatement o 109: visit_edge o, "cores" 110: visit_edge o, "limit" 111: visit_edge o, "orders" 112: visit_edge o, "offset" 113: end
# File lib/arel/visitors/dot.rb, line 49 49: def visit_Arel_Nodes_StringJoin o 50: visit_edge o, "left" 51: end
# File lib/arel/visitors/dot.rb, line 35 35: def visit_Arel_Nodes_TableAlias o 36: visit_edge o, "name" 37: visit_edge o, "relation" 38: end
# File lib/arel/visitors/dot.rb, line 115 115: def visit_Arel_Nodes_UpdateStatement o 116: visit_edge o, "relation" 117: visit_edge o, "wheres" 118: visit_edge o, "values" 119: end
# File lib/arel/visitors/dot.rb, line 45 45: def visit_Arel_Nodes_Values o 46: visit_edge o, "expressions" 47: end
# File lib/arel/visitors/dot.rb, line 121 121: def visit_Arel_Table o 122: visit_edge o, "name" 123: end
# File lib/arel/visitors/dot.rb, line 185 185: def visit_Array o 186: o.each_with_index do |x,i| 187: edge(i) { visit x } 188: end 189: end
# File lib/arel/visitors/dot.rb, line 179 179: def visit_Hash o 180: o.each_with_index do |pair, i| 181: edge("pair_#{i}") { visit pair } 182: end 183: end
# File lib/arel/visitors/dot.rb, line 163 163: def visit_String o 164: @node_stack.last.fields << o 165: end
Disabled; run with --debug to generate this.
Generated with the Darkfish Rdoc Generator 1.1.6.