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