class MirrorGithub::Git
Attributes
repository[RW]
target_dir[W]
Public Class Methods
new(target_dir, repository)
click to toggle source
Takes a target_dir
string and a Repository
class
# File lib/mirror_github/git.rb, line 8 def initialize(target_dir, repository) self.target_dir = target_dir raise "GitHub backup directory, #{self.target_dir}, does not exist!" unless File.directory?(self.target_dir) self.repository = repository end
Public Instance Methods
create_mirror()
click to toggle source
# File lib/mirror_github/git.rb, line 15 def create_mirror `#{go_to_target_dir} && git clone --mirror #{repository.ssh_url} #{mirror_directory}` end
go_to_mirror_dir()
click to toggle source
# File lib/mirror_github/git.rb, line 23 def go_to_mirror_dir "cd #{File.join(target_dir, mirror_directory)}" end
go_to_target_dir()
click to toggle source
# File lib/mirror_github/git.rb, line 19 def go_to_target_dir "cd #{target_dir}" end
mirror_directory()
click to toggle source
# File lib/mirror_github/git.rb, line 27 def mirror_directory "#{repository.name}.git" end
mirror_exists?()
click to toggle source
# File lib/mirror_github/git.rb, line 31 def mirror_exists? File.exists? File.join(target_dir, "#{mirror_directory}") end
target_dir()
click to toggle source
# File lib/mirror_github/git.rb, line 35 def target_dir File.expand_path(@target_dir) end
update_mirror()
click to toggle source
# File lib/mirror_github/git.rb, line 39 def update_mirror `#{go_to_mirror_dir} && git fetch` end