class Backupsss::Janitor
A class for cleaning up backup artifacts
Attributes
driver[R]
retention_count[R]
Public Class Methods
new(opts)
click to toggle source
# File lib/backupsss/janitor.rb, line 8 def initialize(opts) @driver = opts[:driver] @retention_count = opts[:retention_count] || 0 end
Public Instance Methods
rm_garbage(file_array)
click to toggle source
# File lib/backupsss/janitor.rb, line 19 def rm_garbage(file_array) file_array.each { |f| throw_out(f) } display_finished end
sift_trash()
click to toggle source
# File lib/backupsss/janitor.rb, line 13 def sift_trash trash = find_trash vocalize_progress(find_treasures, trash) trash end
Private Instance Methods
display_cleanup(item)
click to toggle source
# File lib/backupsss/janitor.rb, line 63 def display_cleanup(item) puts "Cleaning up #{item}" end
display_error(e, item)
click to toggle source
# File lib/backupsss/janitor.rb, line 67 def display_error(e, item) puts "Could not clean up #{item}: #{e.message}" end
display_finished()
click to toggle source
# File lib/backupsss/janitor.rb, line 59 def display_finished puts 'Finished cleaning up.' end
find_trash()
click to toggle source
# File lib/backupsss/janitor.rb, line 30 def find_trash driver.ls_rt.drop(retention_count) end
find_treasures()
click to toggle source
# File lib/backupsss/janitor.rb, line 26 def find_treasures driver.ls_rt.take(retention_count) end
tag_treasure(treasures)
click to toggle source
# File lib/backupsss/janitor.rb, line 55 def tag_treasure(treasures) treasures.collect { |treasure| "#{treasure} (retaining)" } end
tell_about(array)
click to toggle source
# File lib/backupsss/janitor.rb, line 51 def tell_about(array) puts array end
throw_out(item)
click to toggle source
# File lib/backupsss/janitor.rb, line 34 def throw_out(item) driver.rm(item) display_cleanup(item) rescue Backupsss::RemovalError => e display_error(e, item) end
vocalize_progress(treasure, garbage)
click to toggle source
# File lib/backupsss/janitor.rb, line 41 def vocalize_progress(treasure, garbage) if garbage.empty? puts 'No garbage found' else puts 'Found garbage...' tell_about(tag_treasure(treasure)) tell_about(garbage) end end