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 "which is required to show any child to parent linkage for pedigree navigation. The\n<<CHILD_TO_FAMILY_LINK>> structure also indicates whether the pedigree link represents a\nbirth lineage, an adoption lineage, or a sealing lineage.\n\nLinkage between a child and the family they belonged to at the time of an event can also optionally\nbe shown by a FAMC pointer subordinate to the appropriate event. For example, a FAMC pointer\nsubordinate to an adoption event would show which family adopted this individual. Biological parent\nor parents can be indicated by a FAMC pointer subordinate to the birth event. The FAMC tag can\nalso optionally be used subordinate to an ADOPtion, or BIRTh event to differentiate which set of\nparents were related by adoption, sealing, or birth.\n">> (see page 27) structure contains a FAMC pointer

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, #token_to_s

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