Sha256: d6bf8b4ed0739eab402ae9522e7e603889c39d06c037b2dd7eacc62e1fb89bf5

Contents?: true

Size: 741 Bytes

Versions: 3

Compression:

Stored size: 741 Bytes

Contents

# frozen_string_literal: true

module Cocina
  module Models
    # Metadata for a file set.
    # See http://sul-dlss.github.io/cocina-models/maps/Fileset.json
    class FileSet < Struct
      include Checkable

      TYPES = [
        Vocab.fileset
      ].freeze

      class Identification < Struct
      end

      # Structural sub-schema that contains File (unlike the one in RequestFileSet which contains RequestFile)
      class Structural < Struct
        attribute :contains, Types::Strict::Array.of(Cocina::Models::File).meta(omittable: true)
      end

      include FileSetAttributes
      attribute :externalIdentifier, Types::Strict::String
      attribute(:structural, Structural.default { Structural.new })
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
cocina-models-0.29.0 lib/cocina/models/file_set.rb
cocina-models-0.28.0 lib/cocina/models/file_set.rb
cocina-models-0.27.0 lib/cocina/models/file_set.rb