Sha256: cdb848acf2778de84291790b638228f7e3acff118cfb34ec87906ca4e91bf759
Contents?: true
Size: 1.05 KB
Versions: 1
Compression:
Stored size: 1.05 KB
Contents
require "git" module Figs module GitHandler extend self TMP_GIT_DIR = "tmp/figs/" def location(gitpath, filenames) @temp_files = [] git_clone gitpath temp_filenames(([]<< filenames).flatten) rescue clear_tmp_dir clear_temp_files end def clear_temp_files return unless !@temp_files.nil? @temp_files.each { |temp_file| temp_file.close temp_file.unlink } end private def temp_filenames(filenames) temp_files = [] filenames.each { |filename| temp_files << copy_to_temp_files(filename) } clear_tmp_dir temp_files end def copy_to_temp_files(filename) temp_file = Tempfile.new("#{filename}") temp_file.open temp_file.write(File.open("#{TMP_GIT_DIR}#{filename}").read) temp_file.flush @temp_files << temp_file temp_file.path end def git_clone(gitpath) clear_tmp_dir ::Git.clone gitpath, TMP_GIT_DIR end def clear_tmp_dir FileUtils.rm_rf TMP_GIT_DIR end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
figs-1.2.1 | lib/figs/git_handler.rb |