Sha256: 0f878941315dbe8470092533163dd116cfc0ba915c0e9322dd10da23d4a6f554
Contents?: true
Size: 1.25 KB
Versions: 1
Compression:
Stored size: 1.25 KB
Contents
module BackupRepos module Performers class BaseGit attr_reader :params, :options def initialize(params, options = {}) @params = params @options = options end def backup print "Backing up #{backup_path.yellow}: " if File.exist?(full_backup_path) update_repo else clone_repo end end def clone_url fail 'Not implemented' end def backup_path fail 'Not implemented' end def provider fail 'Not implemented' end private def clone_repo success, _output = BackupRepos.shell.run( "git clone --mirror -n #{clone_url} #{full_backup_path}") puts success ? 'Successfuly cloned'.green : 'Failed to clone'.red end def update_repo FileUtils.cd(full_backup_path) do success, _output = BackupRepos.shell.run('git remote update') puts success ? 'Successfuly updated'.green : 'Failed to update'.red end end def full_backup_path backup_root = BackupRepos.config.backup_root fail 'Backup root is not specified!' if backup_root.blank? File.join(backup_root, provider, backup_path) end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
backup_repos-0.2.0 | lib/backup_repos/performers/base_git.rb |