Module: Ddr::Models::HasContent
- Extended by:
- ActiveSupport::Concern
- Included in:
- Attachment, Component, Target
- Defined in:
- lib/ddr/models/has_content.rb
Constant Summary collapse
- MASTER_FILE_TYPES =
[ "image/tiff" ]
Instance Method Summary collapse
- #content_changed? ⇒ Boolean
- #content_human_size ⇒ Object
- #content_major_type ⇒ Object
- #content_size ⇒ Object
- #content_sub_type ⇒ Object
- #content_type ⇒ Object
- #content_type=(mime_type) ⇒ Object
- #derivatives ⇒ Object
- #has_extracted_text? ⇒ Boolean
- #image? ⇒ Boolean
- #last_virus_check ⇒ Object
- #last_virus_check_on ⇒ Object
- #last_virus_check_outcome ⇒ Object
- #master_file? ⇒ Boolean
- #pdf? ⇒ Boolean
- #techmd ⇒ Object
-
#upload(file, opts = {}) ⇒ Object
Convenience method wrapping FileManagement#add_file.
-
#upload!(file, opts = {}) ⇒ Object
Set content to file and save.
- #virus_checks ⇒ Object
- #with_content_file(&block) ⇒ Object
Instance Method Details
#content_changed? ⇒ Boolean
123 124 125 |
# File 'lib/ddr/models/has_content.rb', line 123 def content_changed? content.external? ? content.dsLocation_changed? : content.content_changed? end |
#content_human_size ⇒ Object
79 80 81 |
# File 'lib/ddr/models/has_content.rb', line 79 def content_human_size ActiveSupport::NumberHelper.number_to_human_size(content_size) if content_size end |
#content_major_type ⇒ Object
87 88 89 |
# File 'lib/ddr/models/has_content.rb', line 87 def content_major_type content_type.split("/").first end |
#content_size ⇒ Object
75 76 77 |
# File 'lib/ddr/models/has_content.rb', line 75 def content_size content.external? ? content.file_size : content.dsSize end |
#content_sub_type ⇒ Object
91 92 93 |
# File 'lib/ddr/models/has_content.rb', line 91 def content_sub_type content_type.split("/").last end |
#content_type ⇒ Object
83 84 85 |
# File 'lib/ddr/models/has_content.rb', line 83 def content_type content.mimeType end |
#content_type=(mime_type) ⇒ Object
95 96 97 |
# File 'lib/ddr/models/has_content.rb', line 95 def content_type= mime_type self.content.mimeType = mime_type end |
#derivatives ⇒ Object
67 68 69 |
# File 'lib/ddr/models/has_content.rb', line 67 def derivatives @derivatives ||= Ddr::Managers::DerivativesManager.new(self) end |
#has_extracted_text? ⇒ Boolean
127 128 129 |
# File 'lib/ddr/models/has_content.rb', line 127 def has_extracted_text? extractedText.has_content? end |
#image? ⇒ Boolean
99 100 101 |
# File 'lib/ddr/models/has_content.rb', line 99 def image? content_major_type == "image" end |
#last_virus_check ⇒ Object
111 112 113 |
# File 'lib/ddr/models/has_content.rb', line 111 def last_virus_check virus_checks.last end |
#last_virus_check_on ⇒ Object
115 116 117 |
# File 'lib/ddr/models/has_content.rb', line 115 def last_virus_check_on last_virus_check && last_virus_check.event_date_time end |
#last_virus_check_outcome ⇒ Object
119 120 121 |
# File 'lib/ddr/models/has_content.rb', line 119 def last_virus_check_outcome last_virus_check && last_virus_check.outcome end |
#master_file? ⇒ Boolean
8 9 10 11 12 13 14 |
# File 'lib/ddr/models/has_content.rb', line 8 def master_file? if respond_to?(:file_use) && file_use.present? file_use == Ddr::Models::HasStructMetadata::FILE_USE_MASTER else MASTER_FILE_TYPES.include?(content_type) end end |
#pdf? ⇒ Boolean
103 104 105 |
# File 'lib/ddr/models/has_content.rb', line 103 def pdf? content_type == "application/pdf" end |
#techmd ⇒ Object
71 72 73 |
# File 'lib/ddr/models/has_content.rb', line 71 def techmd @techmd ||= Ddr::Managers::TechnicalMetadataManager.new(self) end |
#upload(file, opts = {}) ⇒ Object
Convenience method wrapping FileManagement#add_file
57 58 59 |
# File 'lib/ddr/models/has_content.rb', line 57 def upload file, opts={} add_file(file, Ddr::Datastreams::CONTENT, opts) end |
#upload!(file, opts = {}) ⇒ Object
Set content to file and save
62 63 64 65 |
# File 'lib/ddr/models/has_content.rb', line 62 def upload! file, opts={} upload(file, opts) save end |
#virus_checks ⇒ Object
107 108 109 |
# File 'lib/ddr/models/has_content.rb', line 107 def virus_checks Ddr::Events::VirusCheckEvent.for_object(self) end |
#with_content_file(&block) ⇒ Object
131 132 133 |
# File 'lib/ddr/models/has_content.rb', line 131 def with_content_file(&block) WithContentFile.new(self, &block) end |