Class: RelatonBib::CopyrightAssociation
- Inherits:
-
Object
- Object
- RelatonBib::CopyrightAssociation
- Defined in:
- lib/relaton_bib/copyright_association.rb
Overview
Copyright association.
Instance Attribute Summary collapse
- #from ⇒ Date readonly
- #owner ⇒ RelatonBib::ContributionInfo readonly
- #to ⇒ Date, NilClass readonly
Instance Method Summary collapse
-
#initialize(owner:, from:, to: nil) ⇒ CopyrightAssociation
constructor
A new instance of CopyrightAssociation.
- #to_hash ⇒ Hash
- #to_xml(builder) ⇒ Object
Constructor Details
#initialize(owner:, from:, to: nil) ⇒ CopyrightAssociation
Returns a new instance of CopyrightAssociation.
19 20 21 22 23 24 25 26 27 |
# File 'lib/relaton_bib/copyright_association.rb', line 19 def initialize(owner:, from:, to: nil) @owner = if owner.is_a?(Hash) ContributionInfo.new entity: Organization.new(owner) else owner end @from = Date.strptime(from.to_s, "%Y") if from.to_s =~ /\d{4}/ @to = Date.strptime(to.to_s, "%Y") unless to.to_s.empty? end |
Instance Attribute Details
#from ⇒ Date (readonly)
5 6 7 |
# File 'lib/relaton_bib/copyright_association.rb', line 5 def from @from end |
#owner ⇒ RelatonBib::ContributionInfo (readonly)
11 12 13 |
# File 'lib/relaton_bib/copyright_association.rb', line 11 def owner @owner end |
#to ⇒ Date, NilClass (readonly)
8 9 10 |
# File 'lib/relaton_bib/copyright_association.rb', line 8 def to @to end |
Instance Method Details
#to_hash ⇒ Hash
39 40 41 42 43 |
# File 'lib/relaton_bib/copyright_association.rb', line 39 def to_hash hash = { "owner" => owner.to_hash["organization"], "from" => from.year.to_s } hash["to"] = to.year.to_s if to hash end |
#to_xml(builder) ⇒ Object
30 31 32 33 34 35 36 |
# File 'lib/relaton_bib/copyright_association.rb', line 30 def to_xml(builder) builder.copyright do builder.from from ? from.year : "unknown" builder.to to.year if to builder.owner { owner.to_xml builder } end end |