class Gedcomx::Record
Attributes
people[R]
relationships[R]
Public Class Methods
java_class()
click to toggle source
# File lib/gedcomx/record.rb, line 6 def self.java_class Java::OrgGedcomx::Gedcomx end
new(input = nil)
click to toggle source
# File lib/gedcomx/record.rb, line 10 def initialize(input = nil) @record = input || self.class.java_class.new @people = [] @people = @record.persons.map { |person| Gedcomx::Person.new(person) } if @record.persons @relationships = [] if @record.relationships @relationships = @record.relationships.map { |relationship| Gedcomx::Relationship.new(relationship) } end end
Public Instance Methods
add_couple(person1, person2)
click to toggle source
# File lib/gedcomx/record.rb, line 42 def add_couple(person1, person2) relate_people(person1, person2, Gedcomx::TYPES[:couple]) end
add_parent_child(parent, child)
click to toggle source
# File lib/gedcomx/record.rb, line 46 def add_parent_child(parent, child) relate_people(parent, child, Gedcomx::TYPES[:parent_child]) end
add_person(person)
click to toggle source
# File lib/gedcomx/record.rb, line 22 def add_person(person) return false unless person.is_a? Gedcomx::Person @record.add_person(person.to_java) @people << person end
add_relationship(relationship)
click to toggle source
# File lib/gedcomx/record.rb, line 28 def add_relationship(relationship) return false unless relationship.is_a? Gedcomx::Relationship @record.add_relationship(relationship.to_java) @relationships << relationship end
each_person() { |person| ... }
click to toggle source
# File lib/gedcomx/record.rb, line 50 def each_person @people.each do |person| yield person end end
each_relationship() { |relationship| ... }
click to toggle source
# File lib/gedcomx/record.rb, line 56 def each_relationship @relationships.each do |relationship| yield relationship end end
relate_people(person1, person2, type)
click to toggle source
# File lib/gedcomx/record.rb, line 34 def relate_people(person1, person2, type) return false unless ( person1.is_a?(Gedcomx::Person) && person2.is_a?(Gedcomx::Person) ) reference1 = Gedcomx::ResourceReference.create(resource: person1.relative_id) reference2 = Gedcomx::ResourceReference.create(resource: person2.relative_id) relationship = Gedcomx::Relationship.create(person1: reference1, person2: reference2, type: type) add_relationship(relationship) end
to_java()
click to toggle source
# File lib/gedcomx/record.rb, line 62 def to_java @record end