Class: BackupRestore::BackupStore
Abstract
- Inherits:
-
Object
- Object
- BackupRestore::BackupStore
show all
- Defined in:
- lib/backup_restore/backup_store.rb
Overview
Constant Summary
collapse
- BackupFileExists =
Class.new(RuntimeError)
- StorageError =
Class.new(RuntimeError)
Class Method Summary
collapse
Instance Method Summary
collapse
Instance Method Details
#delete_file(filename) ⇒ Object
64
65
66
|
# File 'lib/backup_restore/backup_store.rb', line 64
def delete_file(filename)
fail NotImplementedError
end
|
#delete_old ⇒ Object
36
37
38
39
40
41
42
43
|
# File 'lib/backup_restore/backup_store.rb', line 36
def delete_old
return unless cleanup_allowed?
return if (backup_files = files).size <= SiteSetting.maximum_backups
backup_files[SiteSetting.maximum_backups..-1].each { |file| delete_file(file.filename) }
reset_cache
end
|
#delete_prior_to_n_days ⇒ Object
45
46
47
48
49
50
51
52
53
|
# File 'lib/backup_restore/backup_store.rb', line 45
def delete_prior_to_n_days
window = SiteSetting.remove_older_backups.to_i
return unless window && window.is_a?(Numeric) && window > 0
return unless cleanup_allowed?
files.each do |file|
delete_file(file.filename) if file.last_modified < Time.now.ago(window.days)
end
reset_cache
end
|
#download_file(filename, destination, failure_message = nil) ⇒ Object
68
69
70
|
# File 'lib/backup_restore/backup_store.rb', line 68
def download_file(filename, destination, failure_message = nil)
fail NotImplementedError
end
|
#file(filename, include_download_source: false) ⇒ BackupFile
60
61
62
|
# File 'lib/backup_restore/backup_store.rb', line 60
def file(filename, include_download_source: false)
fail NotImplementedError
end
|
22
23
24
|
# File 'lib/backup_restore/backup_store.rb', line 22
def files
@files ||= unsorted_files.sort_by { |file| -file.last_modified.to_i }
end
|
#generate_upload_url(filename) ⇒ Object
76
77
78
|
# File 'lib/backup_restore/backup_store.rb', line 76
def generate_upload_url(filename)
fail NotImplementedError
end
|
27
28
29
|
# File 'lib/backup_restore/backup_store.rb', line 27
def latest_file
files.first
end
|
#remote? ⇒ Boolean
55
56
57
|
# File 'lib/backup_restore/backup_store.rb', line 55
def remote?
fail NotImplementedError
end
|
#reset_cache ⇒ Object
31
32
33
34
|
# File 'lib/backup_restore/backup_store.rb', line 31
def reset_cache
@files = nil
Report.clear_cache(:storage_stats)
end
|
#stats ⇒ Object
80
81
82
83
84
85
86
87
|
# File 'lib/backup_restore/backup_store.rb', line 80
def stats
{
used_bytes: used_bytes,
free_bytes: free_bytes,
count: files.size,
last_backup_taken_at: latest_file&.last_modified,
}
end
|
#upload_file(filename, source_path, content_type) ⇒ Object
72
73
74
|
# File 'lib/backup_restore/backup_store.rb', line 72
def upload_file(filename, source_path, content_type)
fail NotImplementedError
end
|