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