samples/example_recursive.rb in rubyzip-1.1.2 vs samples/example_recursive.rb in rubyzip-1.1.3

- old
+ new

@@ -1,15 +1,15 @@ -require 'zip/zip' +require 'zip' # This is a simple example which uses rubyzip to # recursively generate a zip file from the contents of # a specified directory. The directory itself is not # included in the archive, rather just its contents. # # Usage: # directoryToZip = "/tmp/input" -# outputFile = "/tmp/out.zip" +# outputFile = "/tmp/out.zip" # zf = ZipFileGenerator.new(directoryToZip, outputFile) # zf.write() class ZipFileGenerator # Initialize with the directory to zip and the location of the output archive. @@ -18,32 +18,31 @@ @outputFile = outputFile end # Zip the input directory. def write() - entries = Dir.entries(@inputDir); entries.delete("."); entries.delete("..") + entries = Dir.entries(@inputDir); entries.delete("."); entries.delete("..") io = Zip::File.open(@outputFile, Zip::File::CREATE); writeEntries(entries, "", io) io.close(); end # A helper method to make the recursion work. private def writeEntries(entries, path, io) - + entries.each { |e| zipFilePath = path == "" ? e : File.join(path, e) diskFilePath = File.join(@inputDir, zipFilePath) puts "Deflating " + diskFilePath if File.directory?(diskFilePath) io.mkdir(zipFilePath) - subdir =Dir.entries(diskFilePath); subdir.delete("."); subdir.delete("..") + subdir =Dir.entries(diskFilePath); subdir.delete("."); subdir.delete("..") writeEntries(subdir, zipFilePath, io) else io.get_output_stream(zipFilePath) { |f| f.puts(File.open(diskFilePath, "rb").read())} end } end - -end +end