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