Sha256: da2b989d76177f6eda4e943dea3572251d7cf8f1239bd5adbc694a3714b3ff7d
Contents?: true
Size: 956 Bytes
Versions: 1
Compression:
Stored size: 956 Bytes
Contents
module ZipDir class Unzipper attr_reader :zip_path def initialize(zip_path) @zip_path, @unzip_path = zip_path, Dir.mktmpdir end def cleanup @unzipped = false FileUtils.remove_entry_secure @unzip_path end def unzip_path unzip unless unzipped? @unzip_path end def unzipped? !!@unzipped end def unzip ::Zip::File.open(zip_path) do |zip_file| zip_file.each do |entry| file_path = "#{@unzip_path}/#{entry.name}" # Fixes: # Errno::ENOENT: # No such file or directory @ rb_sysopen - /var/folders/6c/s4snqy051jqdpbjw7f7tsn940000gn/T/d20160209-56123-1o14n5n/Niveaux/Fondations.png dir_path = File.dirname(file_path).to_s FileUtils.mkdir_p dir_path unless File.exists?(dir_path) entry.extract(file_path) unless File.exists?(file_path) end end @unzipped = true end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
zip_dir-0.1.3 | lib/zip_dir/unzipper.rb |