Sha256: 2af653cff8704c6b853f041b0db7dfd11027b31d2d0505986aa9580ab0486d90

Contents?: true

Size: 756 Bytes

Versions: 2

Compression:

Stored size: 756 Bytes

Contents

module Ddr
  module Models
    module HasPreservationMetadata
      extend ActiveSupport::Concern

      included do
        has_metadata "preservationMetadata",
                     type: Ddr::Datastreams::PreservationMetadataDatastream,
                     versionable: true,
                     control_group: "M"

        has_attributes :permanent_id, :permanent_url,
        datastream: "preservationMetadata", multiple: false

        after_create :assign_permanent_id!, if: "Ddr::Models.auto_assign_permanent_ids"
      end

      def permanent_id_manager
        @permanent_id_manager ||= Ddr::Managers::PermanentIdManager.new(self)
      end

      def assign_permanent_id!
        permanent_id_manager.assign_later
      end

    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
ddr-models-1.7.0 lib/ddr/models/has_preservation_metadata.rb
ddr-models-1.6.0 lib/ddr/models/has_preservation_metadata.rb