Module: Preservation::Storage
- Defined in:
- lib/preservation/storage.rb
Overview
Storage
Class Method Summary collapse
-
.cleanup ⇒ Object
Free up disk space for completed transfers.
-
.enough_storage_for_download?(required_bytes) ⇒ Boolean
Enough storage for download?.
-
.get_preserved ⇒ Array<String>
Collect all paths from DB where preservation has been done.
Class Method Details
.cleanup ⇒ Object
Free up disk space for completed transfers
9 10 11 12 13 14 15 16 17 18 19 20 |
# File 'lib/preservation/storage.rb', line 9 def self.cleanup preserved = get_preserved if !preserved.nil? && !preserved.empty? preserved.each do |i| # skip anything that has a different owner to script if File.stat(i).grpowned? FileUtils.remove_dir i # @logger.info 'Deleted ' + i end end end end |
.enough_storage_for_download?(required_bytes) ⇒ Boolean
Enough storage for download?
25 26 27 28 29 30 |
# File 'lib/preservation/storage.rb', line 25 def self.enough_storage_for_download?(required_bytes) # scale up the required space using a multiplier multiplier = 2 available = FreeDiskSpace.bytes('/') required_bytes * multiplier < available ? true : false end |
.get_preserved ⇒ Array<String>
Collect all paths from DB where preservation has been done
34 35 36 37 38 39 40 41 42 43 44 45 46 |
# File 'lib/preservation/storage.rb', line 34 def self.get_preserved ingest_complete = Preservation::Report::Transfer.status(status_to_find: 'COMPLETE', status_presence: true) preserved = [] ingest_complete.each do |i| dir_path = Preservation.ingest_path + '/' + i['path'] if File.exists?(dir_path) preserved << dir_path end end preserved end |