Sha256: 7ea926e2c3078d31ae449449740c024757dc02511f034788727c2b421aaf3a06
Contents?: true
Size: 1.2 KB
Versions: 4
Compression:
Stored size: 1.2 KB
Contents
require "git" require "figs/directory_flattener" module Figs module GitHandler extend self TMP_GIT_DIR = "tmp/figs/" def location(gitpath, filenames) @temp_files = [] git_clone gitpath temp_filenames(([]<< Figs::DirectoryFlattener.flattened_filenames(filenames.collect {|filename| "#{TMP_GIT_DIR}#{filename}"})).flatten) rescue Exception => e p e 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.gsub('/','-')}") temp_file.open temp_file.write(File.open("#{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
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
figs-2.0.2 | lib/figs/git_handler.rb |
figs-2.0.1 | lib/figs/git_handler.rb |
figs-2.0.0 | lib/figs/git_handler.rb |
figs-1.2.3 | lib/figs/git_handler.rb |