module Libis::Metadata::Mappers::Scope

Mixin for {::Libis::Metadata::DublinCoreRecord} to enable conversion of the Scope exported DC record.

Public Instance Methods

to_dc() click to toggle source

Main conversion method. @return [::Libis::Metadata::DublinCoreRecord]

# File lib/libis/metadata/mappers/scope.rb, line 16
def to_dc
  assert(self.is_a? Libis::Metadata::DublinCoreRecord)

  doc = Libis::Metadata::DublinCoreRecord.new(self.to_xml)

  if doc.isPartOf

    # create new node for isReferencedBy
    new_node = doc.add_node(
        'isReferencedBy',
        doc.isPartOf.content,
        nil,
        'xsi:type' => 'dcterms:URI'
    )

    # Replace isPartOf with isReferencedBy
    doc.isPartOf.replace new_node

  end

  doc

end