Sha256: 1ff36ec0978e9502b034ce1d6b042295fee6dbb9da4b3596ec98df7314f7fb08

Contents?: true

Size: 866 Bytes

Versions: 3

Compression:

Stored size: 866 Bytes

Contents

# frozen_string_literal: true

require_dependency 'hyrax/collection_name'

module Hyrax
  ##
  # Valkyrie model for Collection domain objects in the Hydra Works model.
  class PcdmCollection < Hyrax::Resource
    include Hyrax::Schema(:core_metadata)
    include Hyrax::Schema(:basic_metadata)

    attribute :collection_type_gid, Valkyrie::Types::String
    attribute :member_ids, Valkyrie::Types::Array.of(Valkyrie::Types::ID).meta(ordered: true)
    attribute :member_of_collection_ids, Valkyrie::Types::Set.of(Valkyrie::Types::ID)

    ##
    # @api private
    #
    # @return [Class] an ActiveModel::Name compatible class
    def self._hyrax_default_name_class
      Hyrax::CollectionName
    end

    ##
    # @return [Boolean] true
    def collection?
      true
    end

    ##
    # @return [Boolean] true
    def pcdm_object?
      true
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
hyrax-3.3.0 app/models/hyrax/pcdm_collection.rb
hyrax-3.2.0 app/models/hyrax/pcdm_collection.rb
hyrax-3.1.0 app/models/hyrax/pcdm_collection.rb