class Rowr::Zipper
Attributes
backup_dir[R]
filename[R]
src[RW]
Public Class Methods
new(src_dir)
click to toggle source
# File lib/rowr/zipper.rb, line 7 def initialize(src_dir) @src = src_dir @filename = 'rowr_backup_files' @backup_dir = File.join(src, filename) end
Public Instance Methods
backup()
click to toggle source
# File lib/rowr/zipper.rb, line 17 def backup copy zip remove end
backup_file_exists?()
click to toggle source
# File lib/rowr/zipper.rb, line 55 def backup_file_exists? File.exist?(File.expand_path(File.join(src, "#{filename}.zip"))) end
copy()
click to toggle source
# File lib/rowr/zipper.rb, line 27 def copy FileUtils.mkdir_p backup_dir files = Dir.glob(File.join(src, '*')).reject { |f| File.basename(f) == filename } FileUtils.cp_r files, backup_dir end
delete_all_files_except_backup()
click to toggle source
# File lib/rowr/zipper.rb, line 59 def delete_all_files_except_backup FileUtils.rm_rf (Dir.glob(File.join(src, '*')).reject { |f| File.basename(f) =~ /^rowr_/ }) end
remove()
click to toggle source
# File lib/rowr/zipper.rb, line 23 def remove FileUtils.remove_dir(backup_dir) end
restore()
click to toggle source
# File lib/rowr/zipper.rb, line 40 def restore delete_all_files_except_backup unzip end
unzip()
click to toggle source
# File lib/rowr/zipper.rb, line 45 def unzip Zip::File.open(File.join(src, "#{filename}.zip")) do |zip_file| zip_file.each do |file| file_path = File.join(src, file.name) FileUtils.mkdir_p(File.dirname(file_path)) zip_file.extract(file, file_path) unless File.exist?(file_path) end end end
zip()
click to toggle source
# File lib/rowr/zipper.rb, line 33 def zip zip = File.join(src,"#{filename}.zip") File.delete zip if File.exist?(zip) zf = ZipFileGenerator.new(backup_dir, zip) zf.write end