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
54
55
56
|
# File 'lib/backup_restore/backup_store.rb', line 54
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
|
#download_file(filename, destination, failure_message = nil) ⇒ Object
58
59
60
|
# File 'lib/backup_restore/backup_store.rb', line 58
def download_file(filename, destination, failure_message = nil)
fail NotImplementedError
end
|
#file(filename, include_download_source: false) ⇒ BackupFile
50
51
52
|
# File 'lib/backup_restore/backup_store.rb', line 50
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
66
67
68
|
# File 'lib/backup_restore/backup_store.rb', line 66
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
45
46
47
|
# File 'lib/backup_restore/backup_store.rb', line 45
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
70
71
72
73
74
75
76
77
|
# File 'lib/backup_restore/backup_store.rb', line 70
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
62
63
64
|
# File 'lib/backup_restore/backup_store.rb', line 62
def upload_file(filename, source_path, content_type)
fail NotImplementedError
end
|