class JunglePath::Gen::SchemaTree::Node
Attributes
child_table_join_column_name[RW]
child_table_name[RW]
name[RW]
nodes[RW]
parent_table_join_column_name[RW]
symbol[RW]
tables_hash[RW]
Public Class Methods
new(name, symbol=nil, child_table_name=nil, child_table_join_column_name=nil, parent_table_join_column_name=nil)
click to toggle source
# File lib/jungle_path/gen/schema_tree/node.rb, line 7 def initialize(name, symbol=nil, child_table_name=nil, child_table_join_column_name=nil, parent_table_join_column_name=nil) @name = name @symbol = symbol @child_table_name = child_table_name @child_table_join_column_name = child_table_join_column_name @parent_table_join_column_name = parent_table_join_column_name @nodes = {} end
Public Instance Methods
str_name()
click to toggle source
# File lib/jungle_path/gen/schema_tree/node.rb, line 16 def str_name return "#{name} #{symbol} #{child_table_name}.#{child_table_join_column_name.to_s[0..-4]}" if (child_table_join_column_name and (symbol == "<=" or symbol == "<-")) return "#{name} #{symbol} #{child_table_name}" if symbol "#{name}" end
to_str(level=0)
click to toggle source
# File lib/jungle_path/gen/schema_tree/node.rb, line 22 def to_str(level=0) indent = " " * level result = ["#{indent}#{str_name}"] nodes.each do |k, v| if v.class == ::Array v.each do |item| result << item.to_str(level + 1) end else result << v.to_str(level + 1) end end result.join("\n") end