Class: RelatonBib::ContributionInfo

Inherits:
Object
  • Object
show all
Defined in:
lib/relaton_bib/contribution_info.rb

Overview

Contribution info.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(entity:, role: [{ type: "publisher" }]) ⇒ ContributionInfo

Returns a new instance of ContributionInfo.

Parameters:



61
62
63
64
# File 'lib/relaton_bib/contribution_info.rb', line 61

def initialize(entity:, role: [{ type: "publisher" }])
  @entity = entity
  @role   = role.map { |r| ContributorRole.new(**r) }
end

Instance Attribute Details

#entityObject (readonly)

Returns [RelatonBib::Person, RelatonBib::Organization].

Returns:

  • RelatonBib::Person, RelatonBib::Organization


57
58
59
# File 'lib/relaton_bib/contribution_info.rb', line 57

def entity
  @entity
end

#roleArray<RelatonBib::ContributorRole> (readonly)

Returns:



53
54
55
# File 'lib/relaton_bib/contribution_info.rb', line 53

def role
  @role
end

Instance Method Details

#to_hashHash

Returns:

  • (Hash)


72
73
74
75
76
# File 'lib/relaton_bib/contribution_info.rb', line 72

def to_hash
  hash = entity.to_hash
  hash[:role] = role.map(&:to_hash) if role&.any?
  hash
end

#to_xml(builder) ⇒ Object

Parameters:

  • builder (Nokogiri::XML::Builder)


67
68
69
# File 'lib/relaton_bib/contribution_info.rb', line 67

def to_xml(builder)
  entity.to_xml builder
end