Sha256: fa2732363e5969aed132fddd4fc2c37cb4e16b7b5bcd86fe66c23536e61bde3e
Contents?: true
Size: 1.11 KB
Versions: 1
Compression:
Stored size: 1.11 KB
Contents
require 'tmpdir' module Heirloom class Directory attr_accessor :config, :exclude, :local_build, :path, :logger def initialize(args) self.config = args[:config] self.exclude = args[:exclude] self.path = args[:path] self.logger = config.logger end def build_artifact_from_directory random_text = (0...8).map{65.+(Kernel.rand(25)).chr}.join unless local_build self.local_build = File.join(Dir.tmpdir, random_text + ".tar.gz") end logger.info "Building Heirloom '#{local_build}' from '#{path}'." logger.info "Excluding #{exclude.to_s}." logger.info "Adding #{files_to_pack.to_s}." build_archive local_build, files_to_pack end private def build_archive(local_build, files_to_pack) command = "tar czf #{local_build} #{files_to_pack.join(' ')}" logger.info "Archiving with: `#{command}`" output = `#{command}` logger.debug "Exited with status: '#{$?.exitstatus}' ouput: '#{output}'" $?.success? end def files_to_pack Dir.entries(path) - ['.', '..'] - exclude end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
heirloom-0.3.1 | lib/heirloom/directory/directory.rb |