Sha256: 514c84eaaadf9cfd0f6f3258e32d275682171b3b2c31575e1ce2a852e43dd744

Contents?: true

Size: 1.26 KB

Versions: 8

Compression:

Stored size: 1.26 KB

Contents

# frozen_string_literal: true

module Hyrax
  module Forms
    ##
    # @api public
    class FileSetForm < Hyrax::ChangeSet
      include Hyrax::FormFields(:core_metadata)

      class << self
        ##
        # @return [Array<Symbol>] list of required field names as symbols
        def required_fields
          definitions
            .select { |_, definition| definition[:required] }
            .keys.map(&:to_sym)
        end
      end

      property :creator, required: true
      property :license, required: true

      property :based_near
      property :contributor
      property :date_created
      property :description
      property :identifier
      property :keyword
      property :language
      property :publisher
      property :related_url
      property :subject

      property :permissions, virtual: true
      property :visibility, default: VisibilityIntention::PRIVATE

      # virtual properties for embargo/lease;
      property :embargo_release_date, virtual: true
      property :visibility_after_embargo, virtual: true
      property :visibility_during_embargo, virtual: true
      property :lease_expiration_date, virtual: true
      property :visibility_after_lease, virtual: true
      property :visibility_during_lease, virtual: true
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
hyrax-4.0.0.beta2 app/forms/hyrax/forms/file_set_form.rb
hyrax-3.4.2 app/forms/hyrax/forms/file_set_form.rb
hyrax-4.0.0.beta1 app/forms/hyrax/forms/file_set_form.rb
hyrax-3.4.1 app/forms/hyrax/forms/file_set_form.rb
hyrax-3.4.0 app/forms/hyrax/forms/file_set_form.rb
hyrax-3.3.0 app/forms/hyrax/forms/file_set_form.rb
hyrax-3.2.0 app/forms/hyrax/forms/file_set_form.rb
hyrax-3.1.0 app/forms/hyrax/forms/file_set_form.rb