lib/cocina/models/request_admin_policy.rb in cocina-models-0.29.0 vs lib/cocina/models/request_admin_policy.rb in cocina-models-0.30.0
- old
+ new
@@ -1,11 +1,23 @@
# frozen_string_literal: true
module Cocina
module Models
- # A request to create an AdminPolicy object.
- # This is the same as an AdminPolicy, but without externalIdentifier (as that wouldn't have been created yet).
class RequestAdminPolicy < Struct
- include AdminPolicyAttributes
+ include Checkable
+
+ TYPES = ['http://cocina.sul.stanford.edu/models/admin_policy.jsonld'].freeze
+
+ # example: item
+ attribute :type, Types::Strict::String.enum(*RequestAdminPolicy::TYPES)
+ attribute :label, Types::Strict::String
+ attribute :version, Types::Strict::Integer
+ attribute(:administrative, AdminPolicyAdministrative.default { AdminPolicyAdministrative.new })
+ attribute :description, Description.optional.meta(omittable: true)
+
+ def self.new(attributes = default_attributes, safe = false, validate = true, &block)
+ Validator.validate(self, attributes.with_indifferent_access) if validate
+ super(attributes, safe, &block)
+ end
end
end
end