Sha256: d7109da039887726cc6faf9d2a7897a649d7a31c9ba744e6ae2085e441d0385c

Contents?: true

Size: 1.34 KB

Versions: 8

Compression:

Stored size: 1.34 KB

Contents

module CurationConcern
  class GenericFileActor < Sufia::GenericFile::Actor
    include Worthwhile::ManagesEmbargoesActor

    attr_reader :attributes, :curation_concern

    def initialize(generic_file, user, attributes)
      super(generic_file, user)
      # we're setting attributes and curation_concern to bridge the difference
      # between Sufia::GenericFile::Actor and ManagesEmbargoesActor
      @curation_concern = generic_file
      @attributes = attributes
    end

    # we can trim this down a bit when Sufia 7.1 is released (adds update_visibility)
    def update_metadata(_, _)
      interpret_visibility
      generic_file.visibility = attributes[:visibility] if attributes.key?(:visibility)
      generic_file.attributes = generic_file.sanitize_attributes(attributes)
      generic_file.date_modified = DateTime.now
      remove_from_feature_works if generic_file.visibility_changed? && !generic_file.public?
      save_and_record_committer do
        if Sufia.config.respond_to?(:after_update_metadata)
          Sufia.config.after_update_metadata.call(generic_file, user)
        end
      end
    end

    def create_metadata(batch_id)
      if batch_id
        generic_file.visibility = load_parent(batch_id).visibility
      end
      super
    end

    def load_parent(batch_id)
      @parent ||= GenericWork.find(batch_id)
    end
  end
end

Version data entries

8 entries across 8 versions & 2 rubygems

Version Path
worthwhile-0.1.2 worthwhile-models/app/actors/curation_concern/generic_file_actor.rb
worthwhile-models-0.1.2 app/actors/curation_concern/generic_file_actor.rb
worthwhile-0.1.1 worthwhile-models/app/actors/curation_concern/generic_file_actor.rb
worthwhile-models-0.1.1 app/actors/curation_concern/generic_file_actor.rb
worthwhile-0.1.0 app/actors/curation_concern/generic_file_actor.rb
worthwhile-0.0.3 app/actors/curation_concern/generic_file_actor.rb
worthwhile-0.0.2 app/actors/curation_concern/generic_file_actor.rb
worthwhile-0.0.1 app/actors/curation_concern/generic_file_actor.rb