Class: GenericFile

Inherits:
ActiveFedora::Base show all
Includes:
Curate::ActiveModelAdaptor, CurationConcern::Embargoable, CurationConcern::RemotelyIdentifiedByDoi::Attributes, Hydra::AccessControls::Permissions, Sufia::GenericFile::Audit, Sufia::GenericFile::Characterization, Sufia::GenericFile::Derivatives, Sufia::GenericFile::MimeTypes, Sufia::GenericFile::Thumbnail, Sufia::GenericFile::Versions, Sufia::ModelMethods
Defined in:
app/repository_models/generic_file.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Curate::ActiveModelAdaptor

#noid, #to_key, #to_param

Methods included from CurationConcern::Embargoable

#embargo_release_date, #embargo_release_date=

Methods included from CurationConcern::Embargoable::VisibilityOverride

#visibility, #visibility=

Methods included from ActiveFedora::Base::SoftDeleteBehavior

#exists?

Instance Attribute Details

#fileObject

Returns the value of attribute file.



32
33
34
# File 'app/repository_models/generic_file.rb', line 32

def file
  @file
end

#versionObject

Returns the value of attribute version.



32
33
34
# File 'app/repository_models/generic_file.rb', line 32

def version
  @version
end

Instance Method Details

#copy_permissions_from(obj) ⇒ Object



64
65
66
# File 'app/repository_models/generic_file.rb', line 64

def copy_permissions_from(obj)
  self.datastreams['rightsMetadata'].ng_xml = obj.datastreams['rightsMetadata'].ng_xml
end

#current_version_idObject



52
53
54
# File 'app/repository_models/generic_file.rb', line 52

def current_version_id
  latest_version.version_id
end

#filenameObject



34
35
36
# File 'app/repository_models/generic_file.rb', line 34

def filename
  content.label
end

#human_readable_typeObject



56
57
58
# File 'app/repository_models/generic_file.rb', line 56

def human_readable_type
  self.class.to_s.demodulize.titleize
end

#latest_versionObject



48
49
50
# File 'app/repository_models/generic_file.rb', line 48

def latest_version
  versions.first || Curate::ContentVersion::Null.new(content)
end

#representativeObject



60
61
62
# File 'app/repository_models/generic_file.rb', line 60

def representative
  to_param
end

#to_sObject



38
39
40
41
# File 'app/repository_models/generic_file.rb', line 38

def to_s
  return title.join(", ") if title.present?
  label || "No Title"
end

#versionsObject



43
44
45
46
# File 'app/repository_models/generic_file.rb', line 43

def versions
  return [] unless persisted?
  @versions ||= content.versions.collect {|version| Curate::ContentVersion.new(content, version)}
end