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