app/repository_models/generic_file.rb in curate-0.3.2 vs app/repository_models/generic_file.rb in curate-0.4.2

- old
+ new

@@ -1,29 +1,45 @@ -require Sufia::Engine.root.join('app/models/generic_file') -require File.expand_path("../curation_concern/with_access_right", __FILE__) require File.expand_path("../curation_concern/embargoable", __FILE__) require File.expand_path("../../repository_datastreams/file_content_datastream", __FILE__) -class GenericFile - include CurationConcern::WithAccessRight - include CurationConcern::Embargoable +class GenericFile < ActiveFedora::Base + include Sufia::ModelMethods + include Hydra::AccessControls::Permissions + include CurationConcern::Embargoable # overrides visibility, so must come after Permissions + include Sufia::GenericFile::Characterization + include Curate::ActiveModelAdaptor + include Sufia::GenericFile::Versions + include Sufia::GenericFile::Audit + include Sufia::GenericFile::MimeTypes + include Sufia::GenericFile::Thumbnail + include Sufia::GenericFile::Derivatives belongs_to :batch, property: :is_part_of, class_name: 'ActiveFedora::Base' validates :batch, presence: true validates :file, presence: true, on: :create + has_metadata "descMetadata", type: GenericFileRdfDatastream + has_metadata 'properties', type: Curate::PropertiesDatastream + has_file_datastream "content", type: FileContentDatastream + has_file_datastream "thumbnail" + + delegate_to :properties, [:owner, :depositor], multiple: false + delegate_to :descMetadata, [:date_uploaded, :date_modified], multiple: false + delegate_to :descMetadata, [:creator, :title], multiple: true + class_attribute :human_readable_short_description self.human_readable_short_description = "An arbitrary single file." attr_accessor :file, :version def filename content.label end def to_s - title || label || "No Title" + return title.join(", ") if title.present? + label || "No Title" end def versions content.versions end