lib/astrails/safe.rb in astrails-safe-0.1.6 vs lib/astrails/safe.rb in astrails-safe-0.1.7

- old
+ new

@@ -1,16 +1,27 @@ +require "aws/s3" +require 'fileutils' + +require 'tempfile' require 'extensions/mktmpdir' + require 'astrails/safe/tmp_file' require 'astrails/safe/config/node' require 'astrails/safe/config/builder' require 'astrails/safe/stream' +require 'astrails/safe/backup' + +require 'astrails/safe/backup' + require 'astrails/safe/source' require 'astrails/safe/mysqldump' +require 'astrails/safe/pgdump' require 'astrails/safe/archive' +require 'astrails/safe/svndump' require 'astrails/safe/pipe' require 'astrails/safe/gpg' require 'astrails/safe/gzip' @@ -21,21 +32,27 @@ module Astrails module Safe ROOT = File.join(File.dirname(__FILE__), "..", "..") - def timestamp - @timestamp ||= Time.now.strftime("%y%m%d-%H%M") - end - def safe(&block) config = Config::Node.new(&block) #config.dump - Astrails::Safe::Mysqldump.run(config[:mysqldump, :databases]) - Astrails::Safe::Archive.run(config[:tar, :archives]) + [[Astrails::Safe::Mysqldump, [:mysqldump, :databases]], + [Astrails::Safe::Pgdump, [:pgdump, :databases]], + [Astrails::Safe::Archive, [:tar, :archives]], + [Astrails::Safe::Svndump, [:svndump, :repos]] + ].each do |klass, path| + if collection = config[*path] + collection.each do |name, config| + klass.new(name, config).backup.run(config, :gpg, :gzip, :local, :s3) + end + end + end + Astrails::Safe::TmpFile.cleanup end + module_function :safe end end -