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
121 122 123 |
# File 'lib/ddr/models/has_content.rb', line 121 def content_changed? content.external? ? content.dsLocation_changed? : content.content_changed? end |
#content_human_size ⇒ Object
77 78 79 |
# File 'lib/ddr/models/has_content.rb', line 77 def content_human_size ActiveSupport::NumberHelper.number_to_human_size(content_size) if content_size end |
#content_major_type ⇒ Object
85 86 87 |
# File 'lib/ddr/models/has_content.rb', line 85 def content_major_type content_type.split("/").first end |
#content_size ⇒ Object
73 74 75 |
# File 'lib/ddr/models/has_content.rb', line 73 def content_size content.external? ? content.file_size : content.dsSize end |
#content_sub_type ⇒ Object
89 90 91 |
# File 'lib/ddr/models/has_content.rb', line 89 def content_sub_type content_type.split("/").last end |
#content_type ⇒ Object
81 82 83 |
# File 'lib/ddr/models/has_content.rb', line 81 def content_type content.mimeType end |
#content_type=(mime_type) ⇒ Object
93 94 95 |
# File 'lib/ddr/models/has_content.rb', line 93 def content_type= mime_type self.content.mimeType = mime_type end |
#derivatives ⇒ Object
65 66 67 |
# File 'lib/ddr/models/has_content.rb', line 65 def derivatives @derivatives ||= Ddr::Managers::DerivativesManager.new(self) end |
#has_extracted_text? ⇒ Boolean
125 126 127 |
# File 'lib/ddr/models/has_content.rb', line 125 def has_extracted_text? extractedText.has_content? end |
#image? ⇒ Boolean
97 98 99 |
# File 'lib/ddr/models/has_content.rb', line 97 def image? content_major_type == "image" end |
#last_virus_check ⇒ Object
109 110 111 |
# File 'lib/ddr/models/has_content.rb', line 109 def last_virus_check virus_checks.last end |
#last_virus_check_on ⇒ Object
113 114 115 |
# File 'lib/ddr/models/has_content.rb', line 113 def last_virus_check_on last_virus_check && last_virus_check.event_date_time end |
#last_virus_check_outcome ⇒ Object
117 118 119 |
# File 'lib/ddr/models/has_content.rb', line 117 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
101 102 103 |
# File 'lib/ddr/models/has_content.rb', line 101 def pdf? content_type == "application/pdf" end |
#techmd ⇒ Object
69 70 71 |
# File 'lib/ddr/models/has_content.rb', line 69 def techmd @techmd ||= Ddr::Managers::TechnicalMetadataManager.new(self) end |
#upload(file, opts = {}) ⇒ Object
Convenience method wrapping FileManagement#add_file
55 56 57 |
# File 'lib/ddr/models/has_content.rb', line 55 def upload file, opts={} add_file(file, Ddr::Datastreams::CONTENT, opts) end |
#upload!(file, opts = {}) ⇒ Object
Set content to file and save
60 61 62 63 |
# File 'lib/ddr/models/has_content.rb', line 60 def upload! file, opts={} upload(file, opts) save end |
#virus_checks ⇒ Object
105 106 107 |
# File 'lib/ddr/models/has_content.rb', line 105 def virus_checks Ddr::Events::VirusCheckEvent.for_object(self) end |
#with_content_file(&block) ⇒ Object
129 130 131 |
# File 'lib/ddr/models/has_content.rb', line 129 def with_content_file(&block) WithContentFile.new(self, &block) end |