class Raykit::Git::Files
Functionality to manage a local clone of a git repository
def clean
def clean if Dir.exists?(commit_path()) FileUtils.rm_rf(commit_path()) end end
def commit_path
def commit_path Dir.tmpdir() + File::SEPARATOR + 'Raykit.Git.Files' + File::SEPARATOR + @url.gsub('://','.') + File::SEPARATOR + @commit_id end
def filename(name)
def filename(name) commit_path() + File::SEPARATOR + name end
def get(name)
def get(name) puts "commit_path(): " + commit_path() if !Dir.exists?(commit_path()) puts 'cloning commit path...' clone = Raykit::Command.new('git clone ' + @url + ' ' + commit_path()) puts clone.output puts clone.error Dir.chdir(commit_path()) do checkout = Raykit::Command.new('git checkout ' + @commit_id) end end if File.exists?(filename(name)) return filename(name) end '' end
def initialize(url,commit_id)
def initialize(url,commit_id) @url = url @commit_id = commit_id end