Class: RelatonBib::Person
- Inherits:
-
Contributor
- Object
- Contributor
- RelatonBib::Person
- Defined in:
- lib/relaton_bib/person.rb
Overview
Person class.
Instance Attribute Summary collapse
- #affiliation ⇒ Array<RelatonBib::Affilation>
- #identifier ⇒ Array<RelatonBib::PersonIdentifier>
- #name ⇒ RelatonBib::FullName
Attributes inherited from Contributor
Instance Method Summary collapse
-
#initialize(name:, affiliation: [], contact: [], identifier: []) ⇒ Person
constructor
A new instance of Person.
- #to_hash ⇒ Hash
- #to_xml(builder) ⇒ Object
Methods inherited from Contributor
Constructor Details
#initialize(name:, affiliation: [], contact: [], identifier: []) ⇒ Person
Returns a new instance of Person.
140 141 142 143 144 145 |
# File 'lib/relaton_bib/person.rb', line 140 def initialize(name:, affiliation: [], contact: [], identifier: []) super(contact: contact) @name = name @affiliation = affiliation @identifier = identifier end |
Instance Attribute Details
#affiliation ⇒ Array<RelatonBib::Affilation>
131 132 133 |
# File 'lib/relaton_bib/person.rb', line 131 def affiliation @affiliation end |
#identifier ⇒ Array<RelatonBib::PersonIdentifier>
134 135 136 |
# File 'lib/relaton_bib/person.rb', line 134 def identifier @identifier end |
#name ⇒ RelatonBib::FullName
128 129 130 |
# File 'lib/relaton_bib/person.rb', line 128 def name @name end |
Instance Method Details
#to_hash ⇒ Hash
158 159 160 161 162 163 |
# File 'lib/relaton_bib/person.rb', line 158 def to_hash hash = { name: name.to_hash } hash[:affiliation] = affiliation.map(&:to_hash) if affiliation&.any? hash[:identifier] = identifier.map(&:to_hash) if identifier&.any? { person: hash.merge(super) } end |
#to_xml(builder) ⇒ Object
148 149 150 151 152 153 154 155 |
# File 'lib/relaton_bib/person.rb', line 148 def to_xml(builder) builder.person do name.to_xml builder affiliation.each { |a| a.to_xml builder } identifier.each { |id| id.to_xml builder } contact.each { |contact| contact.to_xml builder } end end |