Class: SimpleBackup::Source::Abstract
- Inherits:
-
Object
- Object
- SimpleBackup::Source::Abstract
- Defined in:
- lib/simple_backup/source/abstract.rb
Constant Summary collapse
Instance Method Summary collapse
- #backends=(value) ⇒ Object
- #backup_file ⇒ Object
- #cleanup ⇒ Object
- #configure(*args) ⇒ Object
- #desc ⇒ Object
- #get ⇒ Object
- #keep_last ⇒ Object
- #keep_last=(value) ⇒ Object
- #name ⇒ Object
- #name=(value) ⇒ Object
- #supports(backend) ⇒ Object
- #type ⇒ Object
Instance Method Details
#backends=(value) ⇒ Object
70 71 72 73 74 |
# File 'lib/simple_backup/source/abstract.rb', line 70 def backends=(value) @backends = [] @backends = @backends + value if value.kind_of?(Array) @backends << value unless value.kind_of?(Array) end |
#backup_file ⇒ Object
66 67 68 |
# File 'lib/simple_backup/source/abstract.rb', line 66 def backup_file @backup_file end |
#cleanup ⇒ Object
59 60 61 62 63 64 |
# File 'lib/simple_backup/source/abstract.rb', line 59 def cleanup return nil unless @backup_file FileUtils.rm (@backup_file) @@logger.debug "Temporary backup file #{@backup_file} was removed" end |
#configure(*args) ⇒ Object
10 11 12 |
# File 'lib/simple_backup/source/abstract.rb', line 10 def configure(*args) raise NotImplementedError end |
#desc ⇒ Object
34 35 36 |
# File 'lib/simple_backup/source/abstract.rb', line 34 def desc '%5s :: %s' % [type, @name] end |
#get ⇒ Object
38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
# File 'lib/simple_backup/source/abstract.rb', line 38 def get return @backup_file if @backup_file @@logger.scope_start :info, "Getting archive for: #{desc}" @tmp_dir = ::Dir.mktmpdir('simple_backup-') @@logger.debug "Created tmp directory #{@tmp_dir}" data_exists = prepare_data @@logger.warning "No data for: #{desc}" unless data_exists archive_data if data_exists FileUtils.rm_rf(@tmp_dir) @@logger.debug "Removed tmp directory #{@tmp_dir}" @backup_file ensure @@logger.scope_end end |
#keep_last ⇒ Object
18 19 20 |
# File 'lib/simple_backup/source/abstract.rb', line 18 def keep_last @keep_last end |
#keep_last=(value) ⇒ Object
14 15 16 |
# File 'lib/simple_backup/source/abstract.rb', line 14 def keep_last=(value) @keep_last = value end |
#name ⇒ Object
26 27 28 |
# File 'lib/simple_backup/source/abstract.rb', line 26 def name @name end |
#name=(value) ⇒ Object
22 23 24 |
# File 'lib/simple_backup/source/abstract.rb', line 22 def name=(value) @name = value.gsub(/[^a-zA-Z0-9\-\_\. ]*/, '').gsub(/\s+/, '_').downcase end |
#supports(backend) ⇒ Object
76 77 78 79 80 81 |
# File 'lib/simple_backup/source/abstract.rb', line 76 def supports(backend) return TRUE unless @backends return FALSE unless @backends.include?(backend.name) TRUE end |
#type ⇒ Object
30 31 32 |
# File 'lib/simple_backup/source/abstract.rb', line 30 def type self.class.name.split('::').last.gsub(/[^a-zA-Z0-9\-\_\. ]*/, '').gsub(/\s+/, '_').downcase end |