Class: RelatonBib::ContributionInfo
- Inherits:
-
Object
- Object
- RelatonBib::ContributionInfo
- Includes:
- RelatonBib
- Defined in:
- lib/relaton_bib/contribution_info.rb
Overview
Contribution info.
Constant Summary
Constants included from RelatonBib
Instance Attribute Summary collapse
-
#entity ⇒ Object
readonly
[RelatonBib::Person, RelatonBib::Organization].
- #role ⇒ Array<RelatonBib::ContributorRole> readonly
Instance Method Summary collapse
-
#initialize(entity:, role: [{ type: "publisher" }]) ⇒ ContributionInfo
constructor
A new instance of ContributionInfo.
- #to_hash ⇒ Hash
- #to_xml(builder) ⇒ Object
Methods included from RelatonBib
array, formattedref, hash_to_bib, localizedstring, localname, parse_date, symbolize, timestamp_hash
Constructor Details
#initialize(entity:, role: [{ type: "publisher" }]) ⇒ ContributionInfo
Returns a new instance of ContributionInfo.
66 67 68 69 |
# File 'lib/relaton_bib/contribution_info.rb', line 66 def initialize(entity:, role: [{ type: "publisher" }]) @entity = entity @role = role.map { |r| ContributorRole.new(**r) } end |
Instance Attribute Details
#entity ⇒ Object (readonly)
Returns [RelatonBib::Person, RelatonBib::Organization].
62 63 64 |
# File 'lib/relaton_bib/contribution_info.rb', line 62 def entity @entity end |
#role ⇒ Array<RelatonBib::ContributorRole> (readonly)
58 59 60 |
# File 'lib/relaton_bib/contribution_info.rb', line 58 def role @role end |
Instance Method Details
#to_hash ⇒ Hash
77 78 79 80 81 |
# File 'lib/relaton_bib/contribution_info.rb', line 77 def to_hash hash = entity.to_hash hash["role"] = single_element_array(role) if role&.any? hash end |
#to_xml(builder) ⇒ Object
72 73 74 |
# File 'lib/relaton_bib/contribution_info.rb', line 72 def to_xml(builder) entity.to_xml builder end |