Sha256: b2a8753f8ba69171d2ff04403d1710018697883bead39f906451d1b994479ddb

Contents?: true

Size: 672 Bytes

Versions: 1

Compression:

Stored size: 672 Bytes

Contents

require 'albacore/albacoretask'
require 'zip/zip'
require 'zip/zipfilesystem'
include Zip

class Unzip
  include AlbacoreTask
  
  attr_accessor :destination, :file

  def initialize
    super()
    update_attributes Albacore.configuration.unzip.to_hash
  end
    
  def execute()
    fail_with_message 'Zip File cannot be empty' if @file.nil?
    return if @file.nil?
  
    Zip::ZipFile.open(@file) do |zip_f|
        zip_f.each do |f|
           out_path = File.join(@destination, f.name)
           FileUtils.mkdir_p(File.dirname(out_path))
           zip_f.extract(f, out_path) unless File.exist?(out_path)
        end
      end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
albacore-0.2.0.preview2 lib/albacore/unzip.rb