Sha256: 95fe387fc67f3a379f65221753f9cff55a4b8195b93754e4b2f81cb2d97e322b
Contents?: true
Size: 1.22 KB
Versions: 8
Compression:
Stored size: 1.22 KB
Contents
# frozen_string_literal: true module Cocina module Models class RequestCollection < Struct include Checkable TYPES = ['http://cocina.sul.stanford.edu/models/collection.jsonld', 'http://cocina.sul.stanford.edu/models/curated-collection.jsonld', 'http://cocina.sul.stanford.edu/models/user-collection.jsonld', 'http://cocina.sul.stanford.edu/models/exhibit.jsonld', 'http://cocina.sul.stanford.edu/models/series.jsonld'].freeze attribute :type, Types::Strict::String.enum(*RequestCollection::TYPES) attribute :label, Types::Strict::String attribute :version, Types::Strict::Integer attribute(:access, CollectionAccess.default { CollectionAccess.new }) attribute(:administrative, Administrative.default { Administrative.new }) attribute :description, Description.optional.meta(omittable: true) attribute :identification, CollectionIdentification.optional.meta(omittable: true) def self.new(attributes = default_attributes, safe = false, validate = true, &block) Validator.validate(self, attributes.with_indifferent_access) if validate && name super(attributes, safe, &block) end end end end
Version data entries
8 entries across 8 versions & 1 rubygems