Sha256: e2bba52613c42354c1e02dcc350524be730d1f578168097aa650aaa47a537b2e
Contents?: true
Size: 1.18 KB
Versions: 5
Compression:
Stored size: 1.18 KB
Contents
module Heirloom class Writer def initialize(args) @config = args[:config] @logger = @config.logger end def save_archive(args) @output = args[:output] @file = args[:file] @archive = args[:archive] @extract = args[:extract] @extract ? extract_archive : write_archive end private def extract_archive @tmp_archive = Tempfile.new('archive.tar.gz').path create_tmp_archive extract_tmp_archive end def write_archive output_file = File.join @output, @file @logger.info "Writing Heirloom to '#{output_file}'." File.open(output_file, 'w') { |local_file| local_file.write @archive } end def create_tmp_archive File.open(@tmp_archive, 'w') { |local_file| local_file.write @archive } end def extract_tmp_archive @logger.info "Extracting Heirloom to '#{@output}'." cmd = "tar xzf #{@tmp_archive} -C #{@output}" @logger.debug "Executing '#{cmd}'." `#{cmd}` if $?.success? @logger.debug "Heirloom succesfully extracted." true else @logger.error "Error extracting Heirloom." false end end end end
Version data entries
5 entries across 5 versions & 1 rubygems