lib/rake/funnel/support/zipper.rb in rake-funnel-0.3.2.pre vs lib/rake/funnel/support/zipper.rb in rake-funnel-0.4.0.pre
- old
+ new
@@ -1,49 +1,53 @@
-require 'pathname'
-require 'zip'
-
-module Rake::Funnel::Support
- class Zipper
- class << self
- def zip(files, target, zip_root = nil)
- raise 'Target not defined' unless target
-
- target_dir = File.dirname(target)
- RakeFileUtils.mkdir_p(target_dir) unless File.directory?(target_dir)
-
- configure_zip
- create_zip(files || [], target, zip_root)
- end
-
- private
- def configure_zip
- ::Zip.unicode_names = true
- ::Zip.default_compression = Zlib::BEST_COMPRESSION
- end
-
- def create_zip(files, target, zip_root)
- ::Zip::File.open(target, ::Zip::File::CREATE) do |zip|
- common_path = files.common_path
-
- files.each do |file|
- zipped_file = get_zipped_path(common_path, file, zip_root)
-
- entry = zip.add(zipped_file, file)
- set_mtime(entry, file)
- end
- end
- end
-
- def get_zipped_path(common_path, file, zip_root)
- file = Pathname.new(file).relative_path_from(Pathname.new(common_path)).to_s unless common_path.nil?
- file = File.join(zip_root, file) unless zip_root.nil? || zip_root.empty?
- file
- end
-
- # To work around this bug: https://github.com/rubyzip/rubyzip/issues/176
- def set_mtime(entry, file)
- entry.time = ::Zip::DOSTime.at(File.mtime(file))
- entry.extra.delete('UniversalTime')
- end
- end
- end
-end
+require 'pathname'
+require 'zip'
+
+module Rake
+ module Funnel
+ module Support
+ class Zipper
+ class << self
+ def zip(files, target, zip_root = nil)
+ raise 'Target not defined' unless target
+
+ target_dir = File.dirname(target)
+ RakeFileUtils.mkdir_p(target_dir) unless File.directory?(target_dir)
+
+ configure_zip
+ create_zip(files || [], target, zip_root)
+ end
+
+ private
+ def configure_zip
+ ::Zip.unicode_names = true
+ ::Zip.default_compression = Zlib::BEST_COMPRESSION
+ end
+
+ def create_zip(files, target, zip_root)
+ ::Zip::File.open(target, ::Zip::File::CREATE) do |zip|
+ common_path = files.common_path
+
+ files.each do |file|
+ zipped_file = get_zipped_path(common_path, file, zip_root)
+
+ entry = zip.add(zipped_file, file)
+ set_mtime(entry, file)
+ end
+ end
+ end
+
+ def get_zipped_path(common_path, file, zip_root)
+ file = Pathname.new(file).relative_path_from(Pathname.new(common_path)).to_s unless common_path.nil?
+ file = File.join(zip_root, file) unless zip_root.nil? || zip_root.empty?
+ file
+ end
+
+ # To work around this bug: https://github.com/rubyzip/rubyzip/issues/176
+ def set_mtime(entry, file)
+ entry.time = ::Zip::DOSTime.at(File.mtime(file))
+ entry.extra.delete('UniversalTime')
+ end
+ end
+ end
+ end
+ end
+end