Class: Families_individuals

Inherits:
GEDCOMBase show all
Defined in:
lib/gedcom/families_individuals.rb

Overview

Family_individuals hold the FAMC and FAMS relationship between Individual_record and Family_record.

=CHILD_TO_FAMILY_LINK:= (Identifies the family in which an individual appears as a child.) n FAMC @<XREF:FAM>@ 0:1 +1 PEDI <PEDIGREE_LINKAGE_TYPE> 0:M +1 <<NOTE_STRUCTURE>> 0:M

=SPOUSE_TO_FAMILY_LINK:= (Identifies the family in which an individual appears as a spouse.) n FAMS @<XREF:FAM>@ 0:1 +1 <<NOTE_STRUCTURE>> 0:M

==PEDIGREE_LINKAGE_TYPE:= Size=5:7 adopted | birth | foster | sealing

A code used to indicate the child to family relationship for pedigree navigation purposes. Where: adopted:: indicates adoptive parents. birth:: indicates birth parents. foster:: indicates child was included in a foster or guardian family. sealing:: indicates child was sealed to parents other than birth parents.

The normal lineage links are shown through the use of pointers from the individual to a family through either the FAMC tag or the FAMS tag. The FAMC tag provides a pointer to a family where this person is a child. The FAMS tag provides a pointer to a family where this person is a spouse or parent. The <<CHILD_TO_FAMILY_LINK>> (see page 27) structure contains a FAMC pointer which is required to show any child to parent linkage for pedigree navigation. The <<CHILD_TO_FAMILY_LINK>> structure also indicates whether the pedigree link represents a birth lineage, an adoption lineage, or a sealing lineage.

Linkage between a child and the family they belonged to at the time of an event can also optionally be shown by a FAMC pointer subordinate to the appropriate event. For example, a FAMC pointer subordinate to an adoption event would show which family adopted this individual. Biological parent or parents can be indicated by a FAMC pointer subordinate to the birth event. The FAMC tag can also optionally be used subordinate to an ADOPtion, or BIRTh event to differentiate which set of parents were related by adoption, sealing, or birth.

The attributes are all arrays for the level +1 tags/records. * Those ending in ref are GEDCOM XREF index keys * Those ending in record are array of classes of that type. * The remainder are arrays of attributes that could be present in this record.

Instance Attribute Summary collapse

Attributes inherited from GEDCOMBase

#restriction

Instance Method Summary collapse

Methods inherited from GEDCOMBase

#changed, #changed?, #created?, #find, #initialize, #locked?, no_tabs, #private?, #save, tabs, #to_db, #to_s, #to_s_ordered, #to_s_r, #token_to_s, #xref_check

Constructor Details

This class inherits a constructor from GEDCOMBase

Instance Attribute Details

#child_linkage_statusObject

GEDCOM 5.5.1



47
48
49
# File 'lib/gedcom/families_individuals.rb', line 47

def child_linkage_status
  @child_linkage_status
end

#family_refObject

Returns the value of attribute family_ref.



44
45
46
# File 'lib/gedcom/families_individuals.rb', line 44

def family_ref
  @family_ref
end

#note_citation_recordObject

Returns the value of attribute note_citation_record.



45
46
47
# File 'lib/gedcom/families_individuals.rb', line 45

def note_citation_record
  @note_citation_record
end

#parents_family_refObject

Returns the value of attribute parents_family_ref.



44
45
46
# File 'lib/gedcom/families_individuals.rb', line 44

def parents_family_ref
  @parents_family_ref
end

#pedigreeObject

Returns the value of attribute pedigree.



44
45
46
# File 'lib/gedcom/families_individuals.rb', line 44

def pedigree
  @pedigree
end

#relationship_typeObject

Returns the value of attribute relationship_type.



44
45
46
# File 'lib/gedcom/families_individuals.rb', line 44

def relationship_type
  @relationship_type
end

#source_citation_recordObject

Only for FAMS (where did I get this idea from ?)



46
47
48
# File 'lib/gedcom/families_individuals.rb', line 46

def source_citation_record
  @source_citation_record
end

Instance Method Details

#own_familyObject



72
73
74
75
76
77
78
# File 'lib/gedcom/families_individuals.rb', line 72

def own_family
  if @family_ref != nil
    find(:family,  @family_ref)
  else
    nil
  end
end

#parents_familyObject



64
65
66
67
68
69
70
# File 'lib/gedcom/families_individuals.rb', line 64

def parents_family
  if @parents_family_ref != nil
    find(:family,  @parents_family_ref)
  else
    nil
  end
end

#to_gedcom(level = 0) ⇒ Object



51
52
53
54
55
56
57
58
59
60
61
62
# File 'lib/gedcom/families_individuals.rb', line 51

def to_gedcom(level=0)
  @this_level = [ [:xref, @relationship_type[0], :family_ref],
                  [:xref, @relationship_type[0], :parents_family_ref] 
                ]
  @sub_level =  [ #level 1
                  [:print, "PEDI",    :pedigree ], #Only for FAMC
                  [:print, "STAT",    :pedigree ], #Only for FAMC
                  [:walk, nil,    :source_citation_record ], #Only for FAMS (where did I get this idea from ?)
                  [:walk, nil,    :note_citation_record ]
                ]
  super(level)
end