class Decendant

Construction of decendant charts

Public Class Methods

new() click to toggle source
# File lib/chart/decendant.rb, line 7
def initialize
  @seen = {}  #to test if we have looped
end

Public Instance Methods

decendants( individual , max_depth = 0 ) click to toggle source
# File lib/chart/decendant.rb, line 11
def decendants( individual , max_depth = 0 )
  glob_map = Bit.new

  if @html
    if(name = individual.name_record) != nil)
      title = name[0].name #pull out the first name (probably the only one in most cases.
    else
      title = "unknown"; #they don't have a name recorded.
    end
    s = "<HTML><TITLE>#{title} Desc.</TITLE><NAME=\"IndexWindow\">\n<BODY><HR>\n<PRE>\n"
  else
    s = ""
  end
  
  s += output_decendants_info(ofile, individual, 0, 0, glob_map, 0, max_depth);
  s += output_descendants_index(ofile, individual, max_depth );
  
  if @html
    s += "</BODY></HTML>\n"
  end
  
  return s
end
decendants_of_name( individual, max_depth ) click to toggle source
# File lib/chart/decendant.rb, line 35
def decendants_of_name( individual, max_depth )
  glob_map = Bit.new

  if @html
    if(name = individual.name_record) != nil)
      title = name[0].name #pull out the first name (probably the only one in most cases).
    else
      title = "unknown"; #they don't have a name recorded.
    end
    s = "<HTML><TITLE>#{title} Desc.(R.)</TITLE><NAME=\"IndexWindow\">\n<BODY><HR>\n<PRE>\n"
  else
    s = ""
  end
  
  s += output_decendants_info_of_name(individual, 0, 0, glob_map, max_depth);
  
  if @html
    s += "</BODY></HTML>\n"
  end
  
  return s
end