Class: Gedcomx::Gender

Inherits:
Object
  • Object
show all
Defined in:
lib/gedcomx/gender.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(input = nil) ⇒ Gender

Returns a new instance of Gender.



35
36
37
38
39
# File 'lib/gedcomx/gender.rb', line 35

def initialize(input = nil)
  @gender = input || self.class.java_class.new
  @fields = []
  @fields = @gender.fields.map { |field| Gedcomx::Field.new(field) } if @gender.fields.is_a? Array
end

Instance Attribute Details

#fieldsObject (readonly)

Returns the value of attribute fields.



4
5
6
# File 'lib/gedcomx/gender.rb', line 4

def fields
  @fields
end

Class Method Details

.create(attributes = {}) ⇒ Object



10
11
12
13
14
15
# File 'lib/gedcomx/gender.rb', line 10

def self.create(attributes = {})
  new_gender = self.new
  new_gender.type = attributes[:type] if attributes[:type]
  attributes[:fields].each { |field| new_gender.add_field(field) } if attributes[:fields].is_a? Array
  new_gender
end

.create_femaleObject



26
27
28
29
30
31
32
33
# File 'lib/gedcomx/gender.rb', line 26

def self.create_female
  new_gender = self.new
  new_gender.type = Gedcomx::TYPES[:female]
  field = Gedcomx::Field.create( values: [ { text: 'Female', type: Gedcomx::TYPES[:original] } ],
                                 type: Gedcomx::TYPES[:gender] )
  new_gender.add_field(field)
  new_gender
end

.create_maleObject



17
18
19
20
21
22
23
24
# File 'lib/gedcomx/gender.rb', line 17

def self.create_male
  new_gender = self.new
  new_gender.type = Gedcomx::TYPES[:male]
  field = Gedcomx::Field.create( values: [ { text: 'Male', type: Gedcomx::TYPES[:original] } ],
                                 type: Gedcomx::TYPES[:gender] )
  new_gender.add_field(field)
  new_gender
end

.java_classObject



6
7
8
# File 'lib/gedcomx/gender.rb', line 6

def self.java_class
  Java::OrgGedcomxConclusion::Gender
end

Instance Method Details

#add_field(field) ⇒ Object



41
42
43
44
45
# File 'lib/gedcomx/gender.rb', line 41

def add_field(field)
  return false unless field.is_a? Gedcomx::Field
  @gender.add_field field.to_java
  @fields << field
end

#to_javaObject



55
56
57
# File 'lib/gedcomx/gender.rb', line 55

def to_java
  @gender
end

#typeObject



47
48
49
# File 'lib/gedcomx/gender.rb', line 47

def type
  @gender.get_type.to_s
end

#type=(input_type) ⇒ Object



51
52
53
# File 'lib/gedcomx/gender.rb', line 51

def type= (input_type)
  @gender.type = ( input_type.is_a? Gedcomx.java_uri_class ) ? input_type : Gedcomx.new_uri(input_type)
end