Sha256: bd4590142d2de9a1f94de639dd4b617886e2ae9146c7817ee22267039553174e

Contents?: true

Size: 1.86 KB

Versions: 3

Compression:

Stored size: 1.86 KB

Contents

module Processor
  def unzip_file(zip_file, target_dir, extract_file = nil, unzip_bin = nil)
    unzip = unzip_bin || 'unzip'

    unless File.exist? zip_file
      $log.writer.error "Zip file #{zip_file} does not exist!"
      exit 1
    end

    unless File.exist? target_dir
      FileUtils.mkdir(target_dir)
      $log.writer.debug "Create target directory #{target_dir}"
    end

    begin
      stdout = `#{unzip} -o \"#{zip_file}\" #{extract_file} -d \"#{target_dir}\"`
      $log.writer.debug stdout
    rescue => e
      $log.writer.error "Can not extract Zipfile #{zip_file} to #{target_dir}"
      $log.writer.error e.message
      exit 1
    end
  end
  module_function :unzip_file

  def tgz_file(tgz_file, source_dir, add_file = nil, tar_bin = nil)
    tar = tar_bin || 'tar'

    unless File.exist? source_dir
      $log.writer.error "Source directory #{source_dir} does not exist!"
      exit 1
    end

    begin
      stdout = `#{tar} -c -z -C #{source_dir} -f #{tgz_file} #{add_file}`
      $log.writer.debug stdout
    rescue => e
      $log.writer.error "Can not add files in #{source_dir} to Tar-Gz file #{tgz_file}"
      $log.writer.error e.message
      exit 1
    end
  end
  module_function :tgz_file

  def untgz_file(tgz_file, target_dir, extract_file = nil, tar_bin = nil)
    tar = tar_bin || 'tar'

    unless File.exist? tgz_file
      $log.writer.error "Tar-Gz file #{tgz_file} does not exist!"
      exit 1
    end

    unless File.exist? target_dir
      FileUtils.mkdir(target_dir)
      $log.writer.debug "Create target directory #{target_dir}"
    end

    begin
      stdout = `#{tar} -x -z -C #{target_dir} -f #{tgz_file} #{extract_file}`
      $log.writer.debug stdout
    rescue => e
      $log.writer.error "Can not extract Tar-Gz file #{tgz_file} to #{target_dir}"
      $log.writer.error e.message
      exit 1
    end
  end
  module_function :untgz_file
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
depengine-3.0.23 lib/depengine/processor/zip.rb
depengine-3.0.22 lib/depengine/processor/zip.rb
depengine-3.0.21 lib/depengine/processor/zip.rb