module Ddr::Models::HasContent

Public Instance Methods

content_changed?() click to toggle source
# File lib/ddr/models/has_content.rb, line 102
def content_changed?
  content.content_changed?
end
content_human_size() click to toggle source
# File lib/ddr/models/has_content.rb, line 58
def content_human_size
  ActiveSupport::NumberHelper.number_to_human_size(content_size) if content_size
end
content_major_type() click to toggle source
# File lib/ddr/models/has_content.rb, line 66
def content_major_type
  content_type.split("/").first
end
content_size() click to toggle source
# File lib/ddr/models/has_content.rb, line 54
def content_size
  content.size
end
content_sub_type() click to toggle source
# File lib/ddr/models/has_content.rb, line 70
def content_sub_type
  content_type.split("/").last
end
content_type() click to toggle source
# File lib/ddr/models/has_content.rb, line 62
def content_type
  content.mime_type
end
content_type=(mime_type) click to toggle source
# File lib/ddr/models/has_content.rb, line 74
def content_type= mime_type
  self.content.mimeType = mime_type
end
derivatives() click to toggle source
# File lib/ddr/models/has_content.rb, line 46
def derivatives
  @derivatives ||= Ddr::Managers::DerivativesManager.new(self)
end
has_extracted_text?() click to toggle source
# File lib/ddr/models/has_content.rb, line 106
def has_extracted_text?
  !extractedText.empty?
end
image?() click to toggle source
# File lib/ddr/models/has_content.rb, line 78
def image?
  content_major_type == "image"
end
last_virus_check() click to toggle source
# File lib/ddr/models/has_content.rb, line 90
def last_virus_check
  virus_checks.last
end
last_virus_check_on() click to toggle source
# File lib/ddr/models/has_content.rb, line 94
def last_virus_check_on
  last_virus_check && last_virus_check.event_date_time
end
last_virus_check_outcome() click to toggle source
# File lib/ddr/models/has_content.rb, line 98
def last_virus_check_outcome
  last_virus_check && last_virus_check.outcome
end
original_filename() click to toggle source
# File lib/ddr/models/has_content.rb, line 38
def original_filename
  content.original_name
end
original_filename=(filename) click to toggle source
# File lib/ddr/models/has_content.rb, line 42
def original_filename=(filename)
  content.original_name = filename
end
pdf?() click to toggle source
# File lib/ddr/models/has_content.rb, line 82
def pdf?
  content_type == "application/pdf"
end
techmd() click to toggle source
# File lib/ddr/models/has_content.rb, line 50
def techmd
  @techmd ||= Ddr::Managers::TechnicalMetadataManager.new(self)
end
upload(file, opts={}) click to toggle source

Convenience method wrapping FileManagement#add_file

# File lib/ddr/models/has_content.rb, line 28
def upload(file, opts={})
  add_file(file, opts.merge(path: Ddr::Models::File::CONTENT))
end
upload!(file, opts={}) click to toggle source

Set content to file and save

# File lib/ddr/models/has_content.rb, line 33
def upload!(file, opts={})
  upload(file, opts)
  save
end
virus_checks() click to toggle source
# File lib/ddr/models/has_content.rb, line 86
def virus_checks
  Ddr::Events::VirusCheckEvent.for_object(self)
end
with_content_file(&block) click to toggle source
# File lib/ddr/models/has_content.rb, line 110
def with_content_file(&block)
  WithContentFile.new(self, &block)
end

Protected Instance Methods

default_content_type() click to toggle source
# File lib/ddr/models/has_content.rb, line 125
def default_content_type
  "application/octet-stream"
end
re_characterize?() click to toggle source
# File lib/ddr/models/has_content.rb, line 121
def re_characterize?
  content_changed? && !fits.new_record?
end
update_derivatives() { || ... } click to toggle source
# File lib/ddr/models/has_content.rb, line 116
def update_derivatives
  yield
  derivatives.update_derivatives(:later)
end