lib/zip.rb in rubyzip-2.4.rc1 vs lib/zip.rb in rubyzip-3.0.0.alpha
- old
+ new
@@ -1,5 +1,7 @@
+# frozen_string_literal: true
+
require 'English'
require 'delegate'
require 'singleton'
require 'tempfile'
require 'fileutils'
@@ -31,26 +33,16 @@
require 'zip/deflater'
require 'zip/streamable_stream'
require 'zip/streamable_directory'
require 'zip/errors'
+# Rubyzip is a ruby module for reading and writing zip files.
+#
+# The main entry points are File, InputStream and OutputStream. For a
+# file/directory interface in the style of the standard ruby ::File and
+# ::Dir APIs then `require 'zip/filesystem'` and see FileSystem.
module Zip
- V3_API_WARNING_MSG = <<~END_MSG
- You have called '%s' which is changing or deprecated
- in version 3.0.0. Please see
- https://github.com/rubyzip/rubyzip/wiki/Updating-to-version-3.x
- for more information.
- END_MSG
-
- def self.warn_about_v3_api(method)
- warn V3_API_WARNING_MSG % method if ENV['RUBYZIP_V3_API_WARN']
- end
-
- if RUBY_VERSION < '3.0'
- warn 'RubyZip 3.0 will require Ruby 3.0 or later.' if ENV['RUBYZIP_V3_API_WARN']
- end
-
extend self
attr_accessor :unicode_names,
:on_exists_proc,
:continue_on_exists_proc,
:sort_entries,
@@ -59,19 +51,26 @@
:warn_invalid_date,
:case_insensitive_match,
:force_entry_names_encoding,
:validate_entry_sizes
+ DEFAULT_RESTORE_OPTIONS = {
+ restore_ownership: false,
+ restore_permissions: true,
+ restore_times: true
+ }.freeze
+
def reset!
@_ran_once = false
@unicode_names = false
@on_exists_proc = false
@continue_on_exists_proc = false
@sort_entries = false
@default_compression = ::Zlib::DEFAULT_COMPRESSION
- @write_zip64_support = false
+ @write_zip64_support = true
@warn_invalid_date = true
@case_insensitive_match = false
+ @force_entry_names_encoding = nil
@validate_entry_sizes = true
end
def setup
yield self unless @_ran_once