class GitGrabber::Puller
Public Class Methods
new(backup_dir)
click to toggle source
# File lib/git_grabber/puller.rb, line 3 def initialize(backup_dir) @base_dir = backup_dir end
Public Instance Methods
update(addr, path)
click to toggle source
# File lib/git_grabber/puller.rb, line 7 def update(addr, path) if File.directory? File.join(@base_dir, path) fetch_repository(addr, path) else clone_repository(addr, path) end end
Protected Instance Methods
clone_repository(addr, path)
click to toggle source
# File lib/git_grabber/puller.rb, line 23 def clone_repository(addr, path) puts "clone #{addr} to #{File.join @base_dir, path}" `git clone --bare #{addr} #{File.join @base_dir, path}` end
fetch_repository(addr, path)
click to toggle source
# File lib/git_grabber/puller.rb, line 16 def fetch_repository(addr, path) puts "fetch #{addr} to #{File.join @base_dir, path}" Dir.chdir(File.join @base_dir, path) do `git fetch --all` end end