Class: Gedcomx::Gender
- Inherits:
-
Object
- Object
- Gedcomx::Gender
- Defined in:
- lib/gedcomx/gender.rb
Instance Attribute Summary collapse
-
#fields ⇒ Object
readonly
Returns the value of attribute fields.
Class Method Summary collapse
- .create(attributes = {}) ⇒ Object
- .create_female ⇒ Object
- .create_male ⇒ Object
- .java_class ⇒ Object
Instance Method Summary collapse
- #add_field(field) ⇒ Object
-
#initialize(input = nil) ⇒ Gender
constructor
A new instance of Gender.
- #to_java ⇒ Object
- #type ⇒ Object
- #type=(input_type) ⇒ Object
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
#fields ⇒ Object (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_female ⇒ Object
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_male ⇒ Object
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_class ⇒ Object
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_java ⇒ Object
55 56 57 |
# File 'lib/gedcomx/gender.rb', line 55 def to_java @gender end |
#type ⇒ Object
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 |