class BackupManager

Attributes

backup_list_filename[RW]
backups[RW]

Public Class Methods

filename() click to toggle source
# File lib/backup_management/backup_manager.rb, line 13
def self.filename
  System.clean("#{System.db_credentials['database']}_ON_#{System.hostname}_backups") << ".yaml"
end
local_filename() click to toggle source
# File lib/backup_management/backup_manager.rb, line 17
def self.local_filename
  "#{Rails.root.to_s}/lib/#{filename}"
end
new() click to toggle source
# File lib/backup_management/backup_manager.rb, line 9
def initialize
  self.backups = Array.new
end

Public Instance Methods

add_backup(backup) click to toggle source
# File lib/backup_management/backup_manager.rb, line 21
def add_backup(backup)
  self.backups << backup
end
delete_backup(backup) click to toggle source
# File lib/backup_management/backup_manager.rb, line 25
def delete_backup(backup)
  self.backups.delete(backup)
end
delete_backup_by_id(backup_id) click to toggle source
# File lib/backup_management/backup_manager.rb, line 29
def delete_backup_by_id(backup_id)
  self.backups.each { |backup|
    if backup.time == backup_id then
      self.backups.delete(backup)
    end
  }
  nil
end
get_backup(backup_id) click to toggle source
# File lib/backup_management/backup_manager.rb, line 42
def get_backup(backup_id)
  self.backups.each { |backup|
    if backup.time == backup_id then
      return backup
    end
  }
  nil
end
get_oldest_backup() click to toggle source
# File lib/backup_management/backup_manager.rb, line 38
def get_oldest_backup
  self.backups.sort{|a,b| b.time <=> a.time}.last
end
list_backups(details = ENV['details']) click to toggle source
# File lib/backup_management/backup_manager.rb, line 51
def list_backups(details = ENV['details'])
  puts "\n--- Backups by Date ---"
  count = 1
  self.backups.sort{|a,b| b.time <=> a.time}.each do |backup|
    puts "#{count}. #{backup.human_readable_time}, ID - #{backup.time}"
    if details then
      puts "   --- App -> #{backup.application_file}"
      puts "   --- DB -> #{backup.database_file}"
      puts "   --- Comment -> #{backup.comment}"
    end
    count = count.next
  end
  puts "-----------------------\n\n"
end
number_of_backups() click to toggle source
# File lib/backup_management/backup_manager.rb, line 66
def number_of_backups
  backups.size
end