omnizip 0.3.12 → 0.3.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.adoc +6 -0
- data/lib/omnizip/algorithm.rb +36 -3
- data/lib/omnizip/algorithm_registry.rb +0 -2
- data/lib/omnizip/algorithms/bzip2/bwt.rb +0 -2
- data/lib/omnizip/algorithms/bzip2/decoder.rb +0 -2
- data/lib/omnizip/algorithms/bzip2/encoder.rb +0 -2
- data/lib/omnizip/algorithms/bzip2/huffman.rb +0 -2
- data/lib/omnizip/algorithms/bzip2/mtf.rb +0 -2
- data/lib/omnizip/algorithms/bzip2/rle.rb +0 -2
- data/lib/omnizip/algorithms/bzip2.rb +1 -5
- data/lib/omnizip/algorithms/deflate/constants.rb +0 -2
- data/lib/omnizip/algorithms/deflate/decoder.rb +0 -2
- data/lib/omnizip/algorithms/deflate/encoder.rb +0 -2
- data/lib/omnizip/algorithms/deflate.rb +1 -5
- data/lib/omnizip/algorithms/deflate64/constants.rb +0 -2
- data/lib/omnizip/algorithms/deflate64/decoder.rb +0 -2
- data/lib/omnizip/algorithms/deflate64/encoder.rb +0 -2
- data/lib/omnizip/algorithms/deflate64/huffman_coder.rb +0 -2
- data/lib/omnizip/algorithms/deflate64/lz77_encoder.rb +0 -2
- data/lib/omnizip/algorithms/deflate64.rb +2 -4
- data/lib/omnizip/algorithms/lzma/bit_model.rb +0 -2
- data/lib/omnizip/algorithms/lzma/constants.rb +0 -2
- data/lib/omnizip/algorithms/lzma/decoder.rb +0 -2
- data/lib/omnizip/algorithms/lzma/dictionary.rb +0 -2
- data/lib/omnizip/algorithms/lzma/distance_coder.rb +0 -2
- data/lib/omnizip/algorithms/lzma/encoder.rb +0 -2
- data/lib/omnizip/algorithms/lzma/length_coder.rb +0 -2
- data/lib/omnizip/algorithms/lzma/literal_decoder.rb +0 -2
- data/lib/omnizip/algorithms/lzma/literal_encoder.rb +0 -2
- data/lib/omnizip/algorithms/lzma/lzip_decoder.rb +0 -2
- data/lib/omnizip/algorithms/lzma/lzma_alone_decoder.rb +0 -2
- data/lib/omnizip/algorithms/lzma/lzma_state.rb +0 -2
- data/lib/omnizip/algorithms/lzma/match.rb +0 -2
- data/lib/omnizip/algorithms/lzma/match_finder.rb +0 -2
- data/lib/omnizip/algorithms/lzma/match_finder_config.rb +0 -2
- data/lib/omnizip/algorithms/lzma/match_finder_factory.rb +0 -2
- data/lib/omnizip/algorithms/lzma/optimal_encoder.rb +0 -2
- data/lib/omnizip/algorithms/lzma/probability_models.rb +0 -2
- data/lib/omnizip/algorithms/lzma/range_coder.rb +0 -2
- data/lib/omnizip/algorithms/lzma/range_decoder.rb +0 -2
- data/lib/omnizip/algorithms/lzma/range_encoder.rb +0 -2
- data/lib/omnizip/algorithms/lzma/state.rb +0 -2
- data/lib/omnizip/algorithms/lzma/xz_buffered_range_encoder.rb +0 -2
- data/lib/omnizip/algorithms/lzma/xz_encoder.rb +0 -2
- data/lib/omnizip/algorithms/lzma/xz_encoder_fast.rb +0 -2
- data/lib/omnizip/algorithms/lzma/xz_match_finder_adapter.rb +0 -2
- data/lib/omnizip/algorithms/lzma/xz_price_calculator.rb +0 -2
- data/lib/omnizip/algorithms/lzma/xz_probability_models.rb +0 -2
- data/lib/omnizip/algorithms/lzma/xz_range_encoder.rb +0 -2
- data/lib/omnizip/algorithms/lzma/xz_range_encoder_exact.rb +0 -2
- data/lib/omnizip/algorithms/lzma/xz_state.rb +0 -2
- data/lib/omnizip/algorithms/lzma/xz_utils_decoder.rb +0 -2
- data/lib/omnizip/algorithms/lzma.rb +1 -3
- data/lib/omnizip/algorithms/lzma2/chunk_manager.rb +0 -2
- data/lib/omnizip/algorithms/lzma2/constants.rb +0 -2
- data/lib/omnizip/algorithms/lzma2/encoder.rb +0 -2
- data/lib/omnizip/algorithms/lzma2/lzma2_chunk.rb +0 -2
- data/lib/omnizip/algorithms/lzma2/properties.rb +0 -2
- data/lib/omnizip/algorithms/lzma2/simple_lzma2_encoder.rb +0 -2
- data/lib/omnizip/algorithms/lzma2/xz_encoder_adapter.rb +0 -2
- data/lib/omnizip/algorithms/lzma2.rb +4 -14
- data/lib/omnizip/algorithms/ppmd7/constants.rb +0 -2
- data/lib/omnizip/algorithms/ppmd7/context.rb +0 -2
- data/lib/omnizip/algorithms/ppmd7/decoder.rb +0 -2
- data/lib/omnizip/algorithms/ppmd7/encoder.rb +0 -2
- data/lib/omnizip/algorithms/ppmd7/model.rb +0 -2
- data/lib/omnizip/algorithms/ppmd7/symbol_state.rb +0 -2
- data/lib/omnizip/algorithms/ppmd7.rb +0 -2
- data/lib/omnizip/algorithms/ppmd8/constants.rb +0 -2
- data/lib/omnizip/algorithms/ppmd8/context.rb +0 -2
- data/lib/omnizip/algorithms/ppmd8/decoder.rb +0 -2
- data/lib/omnizip/algorithms/ppmd8/encoder.rb +0 -2
- data/lib/omnizip/algorithms/ppmd8/model.rb +0 -2
- data/lib/omnizip/algorithms/ppmd8/restoration_method.rb +0 -2
- data/lib/omnizip/algorithms/ppmd8.rb +0 -2
- data/lib/omnizip/algorithms/ppmd_base.rb +0 -2
- data/lib/omnizip/algorithms/registration.rb +0 -2
- data/lib/omnizip/algorithms/sevenzip_lzma2.rb +0 -2
- data/lib/omnizip/algorithms/xz_lzma2.rb +0 -2
- data/lib/omnizip/algorithms/zstandard/constants.rb +0 -2
- data/lib/omnizip/algorithms/zstandard/decoder.rb +0 -2
- data/lib/omnizip/algorithms/zstandard/encoder.rb +0 -2
- data/lib/omnizip/algorithms/zstandard/frame/block.rb +0 -2
- data/lib/omnizip/algorithms/zstandard/frame/header.rb +0 -2
- data/lib/omnizip/algorithms/zstandard/frame.rb +0 -2
- data/lib/omnizip/algorithms/zstandard/fse/bitstream.rb +0 -2
- data/lib/omnizip/algorithms/zstandard/fse/encoder.rb +0 -2
- data/lib/omnizip/algorithms/zstandard/fse/table.rb +0 -2
- data/lib/omnizip/algorithms/zstandard/fse.rb +0 -2
- data/lib/omnizip/algorithms/zstandard/huffman.rb +0 -2
- data/lib/omnizip/algorithms/zstandard/huffman_encoder.rb +0 -2
- data/lib/omnizip/algorithms/zstandard/literals.rb +0 -2
- data/lib/omnizip/algorithms/zstandard/literals_encoder.rb +0 -2
- data/lib/omnizip/algorithms/zstandard/sequences.rb +0 -2
- data/lib/omnizip/algorithms/zstandard.rb +1 -5
- data/lib/omnizip/algorithms.rb +14 -3
- data/lib/omnizip/archive_handler.rb +0 -2
- data/lib/omnizip/archive_handlers/tar_handler.rb +0 -2
- data/lib/omnizip/archive_handlers/zip_handler.rb +0 -2
- data/lib/omnizip/archive_handlers.rb +0 -2
- data/lib/omnizip/buffer/memory_archive.rb +0 -2
- data/lib/omnizip/buffer/memory_extractor.rb +0 -2
- data/lib/omnizip/buffer.rb +0 -2
- data/lib/omnizip/checksum_registry.rb +0 -2
- data/lib/omnizip/checksums/crc32.rb +0 -2
- data/lib/omnizip/checksums/crc64.rb +0 -2
- data/lib/omnizip/checksums/crc_base.rb +0 -2
- data/lib/omnizip/checksums/registration.rb +0 -2
- data/lib/omnizip/checksums/verifier.rb +0 -2
- data/lib/omnizip/checksums.rb +0 -2
- data/lib/omnizip/chunked/memory_manager.rb +0 -2
- data/lib/omnizip/chunked/reader.rb +0 -2
- data/lib/omnizip/chunked/writer.rb +0 -2
- data/lib/omnizip/chunked.rb +0 -2
- data/lib/omnizip/cli/output_formatter.rb +0 -2
- data/lib/omnizip/cli/shared.rb +0 -2
- data/lib/omnizip/cli.rb +0 -2
- data/lib/omnizip/commands/archive_create_command.rb +0 -2
- data/lib/omnizip/commands/archive_extract_command.rb +0 -2
- data/lib/omnizip/commands/archive_list_command.rb +9 -9
- data/lib/omnizip/commands/archive_repair_command.rb +0 -2
- data/lib/omnizip/commands/archive_verify_command.rb +0 -2
- data/lib/omnizip/commands/compress_command.rb +0 -2
- data/lib/omnizip/commands/decompress_command.rb +0 -2
- data/lib/omnizip/commands/list_command.rb +0 -2
- data/lib/omnizip/commands/metadata_command.rb +0 -2
- data/lib/omnizip/commands/parity_create_command.rb +0 -2
- data/lib/omnizip/commands/parity_repair_command.rb +0 -2
- data/lib/omnizip/commands/parity_verify_command.rb +0 -2
- data/lib/omnizip/commands/profile_list_command.rb +0 -2
- data/lib/omnizip/commands/profile_show_command.rb +0 -2
- data/lib/omnizip/commands.rb +0 -2
- data/lib/omnizip/convenience.rb +0 -2
- data/lib/omnizip/converter/conversion_registry.rb +0 -2
- data/lib/omnizip/converter/conversion_strategy.rb +0 -2
- data/lib/omnizip/converter/seven_zip_to_zip_strategy.rb +0 -2
- data/lib/omnizip/converter/zip_to_seven_zip_strategy.rb +0 -2
- data/lib/omnizip/converter.rb +0 -2
- data/lib/omnizip/crypto/aes256/cipher.rb +0 -2
- data/lib/omnizip/crypto/aes256/constants.rb +0 -2
- data/lib/omnizip/crypto/aes256/key_derivation.rb +0 -2
- data/lib/omnizip/crypto/aes256.rb +0 -2
- data/lib/omnizip/crypto.rb +0 -2
- data/lib/omnizip/entry.rb +44 -0
- data/lib/omnizip/error.rb +0 -2
- data/lib/omnizip/eta/exponential_smoothing_estimator.rb +0 -2
- data/lib/omnizip/eta/moving_average_estimator.rb +0 -2
- data/lib/omnizip/eta/rate_calculator.rb +0 -2
- data/lib/omnizip/eta/sample_history.rb +0 -2
- data/lib/omnizip/eta/time_estimator.rb +0 -2
- data/lib/omnizip/eta.rb +0 -2
- data/lib/omnizip/extraction/filter_chain.rb +0 -2
- data/lib/omnizip/extraction/glob_pattern.rb +0 -2
- data/lib/omnizip/extraction/pattern_matcher.rb +0 -2
- data/lib/omnizip/extraction/predicate_pattern.rb +0 -2
- data/lib/omnizip/extraction/regex_pattern.rb +0 -2
- data/lib/omnizip/extraction/selective_extractor.rb +2 -12
- data/lib/omnizip/extraction.rb +0 -2
- data/lib/omnizip/file_type/mime_classifier.rb +0 -2
- data/lib/omnizip/file_type.rb +0 -2
- data/lib/omnizip/filter.rb +0 -2
- data/lib/omnizip/filter_pipeline.rb +1 -3
- data/lib/omnizip/filter_registry.rb +18 -18
- data/lib/omnizip/filters/bcj.rb +0 -2
- data/lib/omnizip/filters/bcj2/constants.rb +0 -2
- data/lib/omnizip/filters/bcj2/decoder.rb +0 -2
- data/lib/omnizip/filters/bcj2/encoder.rb +0 -2
- data/lib/omnizip/filters/bcj2/stream_data.rb +0 -2
- data/lib/omnizip/filters/bcj2.rb +1 -3
- data/lib/omnizip/filters/bcj_arm.rb +1 -3
- data/lib/omnizip/filters/bcj_arm64.rb +1 -3
- data/lib/omnizip/filters/bcj_ia64.rb +1 -3
- data/lib/omnizip/filters/bcj_ppc.rb +1 -3
- data/lib/omnizip/filters/bcj_sparc.rb +1 -3
- data/lib/omnizip/filters/bcj_x86.rb +1 -3
- data/lib/omnizip/filters/delta.rb +0 -2
- data/lib/omnizip/filters/xz_delta.rb +0 -2
- data/lib/omnizip/filters.rb +0 -4
- data/lib/omnizip/format_detector.rb +0 -2
- data/lib/omnizip/formats/bzip2_file.rb +0 -9
- data/lib/omnizip/formats/cpio/bounded_io.rb +0 -2
- data/lib/omnizip/formats/cpio/constants.rb +0 -2
- data/lib/omnizip/formats/cpio/entry.rb +6 -2
- data/lib/omnizip/formats/cpio/reader.rb +0 -2
- data/lib/omnizip/formats/cpio/writer.rb +0 -2
- data/lib/omnizip/formats/cpio.rb +0 -8
- data/lib/omnizip/formats/format_spec_loader.rb +0 -2
- data/lib/omnizip/formats/gzip.rb +0 -9
- data/lib/omnizip/formats/iso/directory_builder.rb +0 -2
- data/lib/omnizip/formats/iso/directory_record.rb +7 -2
- data/lib/omnizip/formats/iso/joliet.rb +0 -2
- data/lib/omnizip/formats/iso/path_table.rb +0 -2
- data/lib/omnizip/formats/iso/reader.rb +0 -2
- data/lib/omnizip/formats/iso/rock_ridge.rb +0 -2
- data/lib/omnizip/formats/iso/volume_builder.rb +0 -2
- data/lib/omnizip/formats/iso/volume_descriptor.rb +0 -2
- data/lib/omnizip/formats/iso/writer.rb +0 -2
- data/lib/omnizip/formats/iso.rb +0 -7
- data/lib/omnizip/formats/lzip.rb +0 -9
- data/lib/omnizip/formats/lzma_alone.rb +0 -8
- data/lib/omnizip/formats/msi/cab_extractor.rb +0 -2
- data/lib/omnizip/formats/msi/constants.rb +0 -2
- data/lib/omnizip/formats/msi/directory_resolver.rb +0 -2
- data/lib/omnizip/formats/msi/entry.rb +6 -2
- data/lib/omnizip/formats/msi/reader.rb +0 -2
- data/lib/omnizip/formats/msi/string_pool.rb +0 -2
- data/lib/omnizip/formats/msi/table_parser.rb +0 -2
- data/lib/omnizip/formats/msi.rb +0 -11
- data/lib/omnizip/formats/ole/allocation_table.rb +0 -2
- data/lib/omnizip/formats/ole/constants.rb +0 -2
- data/lib/omnizip/formats/ole/dirent.rb +6 -2
- data/lib/omnizip/formats/ole/header.rb +0 -2
- data/lib/omnizip/formats/ole/ranges_io.rb +0 -2
- data/lib/omnizip/formats/ole/storage.rb +0 -2
- data/lib/omnizip/formats/ole/types/variant.rb +0 -2
- data/lib/omnizip/formats/ole.rb +0 -11
- data/lib/omnizip/formats/rar/archive_repairer.rb +0 -2
- data/lib/omnizip/formats/rar/archive_verifier.rb +0 -2
- data/lib/omnizip/formats/rar/block_parser.rb +0 -2
- data/lib/omnizip/formats/rar/compression/bit_stream.rb +0 -2
- data/lib/omnizip/formats/rar/compression/dispatcher.rb +0 -2
- data/lib/omnizip/formats/rar/compression/lz77_huffman/decoder.rb +0 -2
- data/lib/omnizip/formats/rar/compression/lz77_huffman/encoder.rb +0 -2
- data/lib/omnizip/formats/rar/compression/lz77_huffman/huffman_builder.rb +0 -2
- data/lib/omnizip/formats/rar/compression/lz77_huffman/huffman_coder.rb +0 -2
- data/lib/omnizip/formats/rar/compression/lz77_huffman/match_finder.rb +0 -2
- data/lib/omnizip/formats/rar/compression/lz77_huffman/sliding_window.rb +0 -2
- data/lib/omnizip/formats/rar/compression/lz77_huffman.rb +0 -2
- data/lib/omnizip/formats/rar/compression/ppmd/context.rb +0 -2
- data/lib/omnizip/formats/rar/compression/ppmd/decoder.rb +0 -2
- data/lib/omnizip/formats/rar/compression/ppmd/encoder.rb +0 -2
- data/lib/omnizip/formats/rar/compression/ppmd.rb +0 -2
- data/lib/omnizip/formats/rar/compression.rb +0 -2
- data/lib/omnizip/formats/rar/compression_method_registry.rb +0 -2
- data/lib/omnizip/formats/rar/constants.rb +0 -2
- data/lib/omnizip/formats/rar/decompressor.rb +0 -2
- data/lib/omnizip/formats/rar/external_writer.rb +0 -2
- data/lib/omnizip/formats/rar/header.rb +0 -2
- data/lib/omnizip/formats/rar/license_validator.rb +0 -2
- data/lib/omnizip/formats/rar/models/rar_archive.rb +0 -2
- data/lib/omnizip/formats/rar/models/rar_entry.rb +0 -2
- data/lib/omnizip/formats/rar/models/rar_volume.rb +0 -2
- data/lib/omnizip/formats/rar/models.rb +0 -2
- data/lib/omnizip/formats/rar/parity_handler.rb +0 -2
- data/lib/omnizip/formats/rar/rar5/compression/lzma.rb +0 -2
- data/lib/omnizip/formats/rar/rar5/compression/lzss.rb +0 -2
- data/lib/omnizip/formats/rar/rar5/compression/store.rb +0 -2
- data/lib/omnizip/formats/rar/rar5/crc32.rb +0 -2
- data/lib/omnizip/formats/rar/rar5/encryption/aes256_cbc.rb +0 -2
- data/lib/omnizip/formats/rar/rar5/encryption/encryption_header.rb +0 -2
- data/lib/omnizip/formats/rar/rar5/encryption/encryption_manager.rb +0 -2
- data/lib/omnizip/formats/rar/rar5/encryption/key_derivation.rb +0 -2
- data/lib/omnizip/formats/rar/rar5/header.rb +0 -2
- data/lib/omnizip/formats/rar/rar5/models/encryption_options.rb +0 -2
- data/lib/omnizip/formats/rar/rar5/models/recovery_options.rb +0 -2
- data/lib/omnizip/formats/rar/rar5/models/solid_options.rb +0 -2
- data/lib/omnizip/formats/rar/rar5/models/volume_options.rb +0 -2
- data/lib/omnizip/formats/rar/rar5/multi_volume/volume_manager.rb +0 -2
- data/lib/omnizip/formats/rar/rar5/multi_volume/volume_splitter.rb +0 -2
- data/lib/omnizip/formats/rar/rar5/multi_volume/volume_writer.rb +0 -2
- data/lib/omnizip/formats/rar/rar5/solid/solid_encoder.rb +0 -2
- data/lib/omnizip/formats/rar/rar5/solid/solid_manager.rb +0 -2
- data/lib/omnizip/formats/rar/rar5/solid/solid_stream.rb +0 -2
- data/lib/omnizip/formats/rar/rar5/vint.rb +0 -2
- data/lib/omnizip/formats/rar/rar5/writer.rb +0 -2
- data/lib/omnizip/formats/rar/rar_format_base.rb +0 -2
- data/lib/omnizip/formats/rar/reader.rb +0 -2
- data/lib/omnizip/formats/rar/recovery_record.rb +0 -2
- data/lib/omnizip/formats/rar/volume_manager.rb +0 -2
- data/lib/omnizip/formats/rar/writer.rb +0 -2
- data/lib/omnizip/formats/rar.rb +0 -8
- data/lib/omnizip/formats/rar3/compressor.rb +0 -2
- data/lib/omnizip/formats/rar3/decompressor.rb +0 -2
- data/lib/omnizip/formats/rar3/reader.rb +7 -2
- data/lib/omnizip/formats/rar3/writer.rb +0 -2
- data/lib/omnizip/formats/rar5/compressor.rb +0 -2
- data/lib/omnizip/formats/rar5/decompressor.rb +0 -2
- data/lib/omnizip/formats/rar5/reader.rb +7 -2
- data/lib/omnizip/formats/rar5/writer.rb +0 -2
- data/lib/omnizip/formats/rpm/constants.rb +0 -2
- data/lib/omnizip/formats/rpm/entry.rb +6 -2
- data/lib/omnizip/formats/rpm/header.rb +0 -2
- data/lib/omnizip/formats/rpm/lead.rb +0 -2
- data/lib/omnizip/formats/rpm/tag.rb +0 -2
- data/lib/omnizip/formats/rpm/writer.rb +0 -2
- data/lib/omnizip/formats/rpm.rb +0 -2
- data/lib/omnizip/formats/seven_zip/bcj2_stream_decompressor.rb +0 -2
- data/lib/omnizip/formats/seven_zip/coder_chain.rb +0 -2
- data/lib/omnizip/formats/seven_zip/constants.rb +0 -2
- data/lib/omnizip/formats/seven_zip/encoded_header.rb +0 -2
- data/lib/omnizip/formats/seven_zip/encrypted_header.rb +0 -2
- data/lib/omnizip/formats/seven_zip/file_collector.rb +0 -2
- data/lib/omnizip/formats/seven_zip/header.rb +0 -2
- data/lib/omnizip/formats/seven_zip/header_encryptor.rb +0 -2
- data/lib/omnizip/formats/seven_zip/header_writer.rb +0 -2
- data/lib/omnizip/formats/seven_zip/models/coder_info.rb +0 -2
- data/lib/omnizip/formats/seven_zip/models/file_entry.rb +7 -2
- data/lib/omnizip/formats/seven_zip/models/folder.rb +0 -2
- data/lib/omnizip/formats/seven_zip/models/stream_info.rb +0 -2
- data/lib/omnizip/formats/seven_zip/models.rb +0 -2
- data/lib/omnizip/formats/seven_zip/parser.rb +0 -2
- data/lib/omnizip/formats/seven_zip/reader.rb +0 -2
- data/lib/omnizip/formats/seven_zip/split_archive_reader.rb +0 -2
- data/lib/omnizip/formats/seven_zip/split_archive_writer.rb +0 -2
- data/lib/omnizip/formats/seven_zip/stream_compressor.rb +0 -2
- data/lib/omnizip/formats/seven_zip/stream_decompressor.rb +0 -2
- data/lib/omnizip/formats/seven_zip/writer.rb +0 -2
- data/lib/omnizip/formats/seven_zip.rb +0 -8
- data/lib/omnizip/formats/tar/constants.rb +0 -2
- data/lib/omnizip/formats/tar/entry.rb +6 -2
- data/lib/omnizip/formats/tar/header.rb +0 -2
- data/lib/omnizip/formats/tar/reader.rb +0 -2
- data/lib/omnizip/formats/tar/writer.rb +0 -2
- data/lib/omnizip/formats/tar.rb +0 -8
- data/lib/omnizip/formats/xar/constants.rb +0 -2
- data/lib/omnizip/formats/xar/entry.rb +6 -2
- data/lib/omnizip/formats/xar/header.rb +0 -2
- data/lib/omnizip/formats/xar/reader.rb +0 -2
- data/lib/omnizip/formats/xar/toc.rb +0 -2
- data/lib/omnizip/formats/xar/writer.rb +0 -2
- data/lib/omnizip/formats/xar.rb +0 -8
- data/lib/omnizip/formats/xz/reader.rb +0 -2
- data/lib/omnizip/formats/xz/writer.rb +0 -2
- data/lib/omnizip/formats/xz.rb +0 -2
- data/lib/omnizip/formats/xz_const.rb +0 -2
- data/lib/omnizip/formats/xz_impl/block_decoder.rb +0 -2
- data/lib/omnizip/formats/xz_impl/block_encoder.rb +0 -2
- data/lib/omnizip/formats/xz_impl/block_header.rb +0 -2
- data/lib/omnizip/formats/xz_impl/block_header_parser.rb +0 -2
- data/lib/omnizip/formats/xz_impl/index_decoder.rb +0 -2
- data/lib/omnizip/formats/xz_impl/index_encoder.rb +0 -2
- data/lib/omnizip/formats/xz_impl/stream_decoder.rb +0 -2
- data/lib/omnizip/formats/xz_impl/stream_encoder.rb +0 -2
- data/lib/omnizip/formats/xz_impl/stream_footer.rb +0 -2
- data/lib/omnizip/formats/xz_impl/stream_footer_parser.rb +0 -2
- data/lib/omnizip/formats/xz_impl/stream_header.rb +0 -2
- data/lib/omnizip/formats/xz_impl/stream_header_parser.rb +0 -2
- data/lib/omnizip/formats/xz_impl/vli.rb +0 -2
- data/lib/omnizip/formats/xz_impl.rb +0 -2
- data/lib/omnizip/formats/zip/central_directory_header.rb +0 -2
- data/lib/omnizip/formats/zip/constants.rb +0 -2
- data/lib/omnizip/formats/zip/end_of_central_directory.rb +0 -2
- data/lib/omnizip/formats/zip/local_file_header.rb +0 -2
- data/lib/omnizip/formats/zip/reader.rb +0 -2
- data/lib/omnizip/formats/zip/unix_extra_field.rb +0 -2
- data/lib/omnizip/formats/zip/writer.rb +0 -2
- data/lib/omnizip/formats/zip/zip64_end_of_central_directory.rb +0 -2
- data/lib/omnizip/formats/zip/zip64_end_of_central_directory_locator.rb +0 -2
- data/lib/omnizip/formats/zip/zip64_extra_field.rb +0 -2
- data/lib/omnizip/formats/zip.rb +0 -8
- data/lib/omnizip/formats.rb +0 -2
- data/lib/omnizip/implementations/base/lzma2_decoder_base.rb +0 -2
- data/lib/omnizip/implementations/base/lzma2_encoder_base.rb +0 -2
- data/lib/omnizip/implementations/base/lzma_decoder_base.rb +0 -2
- data/lib/omnizip/implementations/base/lzma_encoder_base.rb +0 -2
- data/lib/omnizip/implementations/base/state_machine_base.rb +0 -2
- data/lib/omnizip/implementations/base.rb +0 -2
- data/lib/omnizip/implementations/seven_zip/lzma/decoder.rb +0 -2
- data/lib/omnizip/implementations/seven_zip/lzma/encoder.rb +0 -2
- data/lib/omnizip/implementations/seven_zip/lzma/match_finder.rb +0 -2
- data/lib/omnizip/implementations/seven_zip/lzma/range_decoder.rb +0 -2
- data/lib/omnizip/implementations/seven_zip/lzma/range_encoder.rb +0 -2
- data/lib/omnizip/implementations/seven_zip/lzma/state_machine.rb +0 -2
- data/lib/omnizip/implementations/seven_zip/lzma.rb +0 -2
- data/lib/omnizip/implementations/seven_zip/lzma2/encoder.rb +0 -2
- data/lib/omnizip/implementations/seven_zip/lzma2.rb +0 -2
- data/lib/omnizip/implementations/seven_zip.rb +0 -2
- data/lib/omnizip/implementations/xz_utils/lzma2/decoder.rb +0 -2
- data/lib/omnizip/implementations/xz_utils/lzma2/encoder.rb +0 -2
- data/lib/omnizip/implementations/xz_utils/lzma2.rb +0 -2
- data/lib/omnizip/implementations/xz_utils.rb +0 -2
- data/lib/omnizip/implementations.rb +18 -6
- data/lib/omnizip/io/buffered_input.rb +0 -2
- data/lib/omnizip/io/buffered_output.rb +0 -2
- data/lib/omnizip/io/source.rb +0 -2
- data/lib/omnizip/io/stream_manager.rb +0 -2
- data/lib/omnizip/io.rb +0 -2
- data/lib/omnizip/link_handler/hard_link.rb +0 -2
- data/lib/omnizip/link_handler/symbolic_link.rb +0 -2
- data/lib/omnizip/link_handler.rb +0 -2
- data/lib/omnizip/metadata/archive_metadata.rb +0 -2
- data/lib/omnizip/metadata/entry_metadata.rb +7 -2
- data/lib/omnizip/metadata/metadata_editor.rb +0 -2
- data/lib/omnizip/metadata/metadata_registry.rb +0 -2
- data/lib/omnizip/metadata/metadata_validator.rb +0 -2
- data/lib/omnizip/metadata.rb +0 -2
- data/lib/omnizip/models/algorithm_metadata.rb +0 -2
- data/lib/omnizip/models/compression_options.rb +0 -2
- data/lib/omnizip/models/conversion_options.rb +0 -2
- data/lib/omnizip/models/conversion_result.rb +0 -2
- data/lib/omnizip/models/eta_result.rb +0 -2
- data/lib/omnizip/models/extraction_rule.rb +0 -2
- data/lib/omnizip/models/filter_chain.rb +0 -2
- data/lib/omnizip/models/filter_config.rb +0 -2
- data/lib/omnizip/models/match_result.rb +0 -2
- data/lib/omnizip/models/optimization_suggestion.rb +0 -2
- data/lib/omnizip/models/parallel_options.rb +0 -2
- data/lib/omnizip/models/performance_result.rb +0 -2
- data/lib/omnizip/models/profile_report.rb +0 -2
- data/lib/omnizip/models/progress_options.rb +0 -2
- data/lib/omnizip/models/split_options.rb +0 -2
- data/lib/omnizip/optimization_registry.rb +0 -2
- data/lib/omnizip/parallel/engine.rb +48 -0
- data/lib/omnizip/parallel/job_queue.rb +0 -2
- data/lib/omnizip/parallel/job_scheduler.rb +0 -2
- data/lib/omnizip/parallel/parallel_compressor.rb +5 -18
- data/lib/omnizip/parallel/parallel_extractor.rb +5 -18
- data/lib/omnizip/parallel/worker_pool.rb +0 -2
- data/lib/omnizip/parallel.rb +1 -2
- data/lib/omnizip/parity/chunked_block_processor.rb +0 -2
- data/lib/omnizip/parity/galois16.rb +0 -2
- data/lib/omnizip/parity/models/creator_packet.rb +0 -2
- data/lib/omnizip/parity/models/file_description_packet.rb +0 -2
- data/lib/omnizip/parity/models/ifsc_packet.rb +0 -2
- data/lib/omnizip/parity/models/main_packet.rb +0 -2
- data/lib/omnizip/parity/models/packet.rb +0 -2
- data/lib/omnizip/parity/models/packet_registry.rb +0 -2
- data/lib/omnizip/parity/models/recovery_slice_packet.rb +0 -2
- data/lib/omnizip/parity/models.rb +0 -2
- data/lib/omnizip/parity/par2_creator.rb +0 -2
- data/lib/omnizip/parity/par2_repairer.rb +0 -2
- data/lib/omnizip/parity/par2_verifier.rb +0 -2
- data/lib/omnizip/parity/par2cmdline_algorithm.rb +0 -2
- data/lib/omnizip/parity/par2cmdline_coefficients.rb +0 -2
- data/lib/omnizip/parity/reed_solomon_decoder.rb +0 -2
- data/lib/omnizip/parity/reed_solomon_encoder.rb +0 -2
- data/lib/omnizip/parity/reed_solomon_matrix.rb +0 -2
- data/lib/omnizip/parity.rb +0 -2
- data/lib/omnizip/password/encryption_registry.rb +0 -2
- data/lib/omnizip/password/encryption_strategy.rb +0 -2
- data/lib/omnizip/password/password_validator.rb +0 -2
- data/lib/omnizip/password/winzip_aes_strategy.rb +0 -2
- data/lib/omnizip/password/zip_crypto_strategy.rb +0 -2
- data/lib/omnizip/password.rb +0 -2
- data/lib/omnizip/pipe/stream_compressor.rb +0 -2
- data/lib/omnizip/pipe/stream_decompressor.rb +0 -2
- data/lib/omnizip/pipe.rb +0 -2
- data/lib/omnizip/platform/ntfs_streams.rb +0 -2
- data/lib/omnizip/platform.rb +0 -2
- data/lib/omnizip/profile/archive_profile.rb +0 -2
- data/lib/omnizip/profile/balanced_profile.rb +0 -2
- data/lib/omnizip/profile/binary_profile.rb +0 -2
- data/lib/omnizip/profile/compression_profile.rb +0 -2
- data/lib/omnizip/profile/custom_profile.rb +0 -2
- data/lib/omnizip/profile/fast_profile.rb +0 -2
- data/lib/omnizip/profile/maximum_profile.rb +0 -2
- data/lib/omnizip/profile/profile_detector.rb +0 -2
- data/lib/omnizip/profile/profile_registry.rb +0 -2
- data/lib/omnizip/profile/text_profile.rb +0 -2
- data/lib/omnizip/profile.rb +0 -2
- data/lib/omnizip/profiler/memory_profiler.rb +0 -2
- data/lib/omnizip/profiler/method_profiler.rb +0 -2
- data/lib/omnizip/profiler/report_generator.rb +0 -2
- data/lib/omnizip/profiler.rb +0 -2
- data/lib/omnizip/progress/callback_reporter.rb +0 -2
- data/lib/omnizip/progress/console_reporter.rb +0 -2
- data/lib/omnizip/progress/log_reporter.rb +0 -2
- data/lib/omnizip/progress/operation_progress.rb +0 -2
- data/lib/omnizip/progress/progress_bar.rb +0 -2
- data/lib/omnizip/progress/progress_reporter.rb +0 -2
- data/lib/omnizip/progress/progress_tracker.rb +0 -2
- data/lib/omnizip/progress/silent_reporter.rb +0 -2
- data/lib/omnizip/progress.rb +0 -2
- data/lib/omnizip/registry.rb +0 -3
- data/lib/omnizip/rubyzip_compat.rb +0 -4
- data/lib/omnizip/temp/safe_extract.rb +0 -2
- data/lib/omnizip/temp/temp_file.rb +0 -2
- data/lib/omnizip/temp/temp_file_pool.rb +0 -2
- data/lib/omnizip/temp.rb +0 -2
- data/lib/omnizip/version.rb +1 -1
- data/lib/omnizip/zip/entry.rb +7 -2
- data/lib/omnizip/zip/file.rb +0 -2
- data/lib/omnizip/zip/input_stream.rb +0 -2
- data/lib/omnizip/zip/output_stream.rb +0 -2
- data/lib/omnizip/zip.rb +0 -2
- data/lib/omnizip.rb +2 -2
- metadata +4 -6
- data/lib/omnizip/filters/filter_base.rb +0 -8
- data/lib/omnizip/filters/registration.rb +0 -24
- data/lib/omnizip/filters/registry.rb +0 -113
- data/lib/omnizip/format_registry.rb +0 -102
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 3d76166f4e6d65cb67526c079369395377bc4d30af75d52b9d83374f99721071
|
|
4
|
+
data.tar.gz: c47f5c274906ca6d92293606add01a44bfdb4e3f2f499647608bd2ac0629b98f
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 4cc7cbf7d9ce6763e6648abc3415b588a5a79df8e6b15fdfea5a6db962531b7c584628c1fe1b2c5c604d4113d05f9120bd8eb61a1fba70acdbfa324b3e621a2f
|
|
7
|
+
data.tar.gz: b796a58122e8d1b9ce208aafbf2b64826789e34fd8d165f05bab54ebd74b9169bdb1814bb8f83f2209bc09abad465a5b5b73c12be8570e3b2429a3288119563f
|
data/README.adoc
CHANGED
|
@@ -607,6 +607,12 @@ gem 'omnizip'
|
|
|
607
607
|
gem install omnizip
|
|
608
608
|
----
|
|
609
609
|
|
|
610
|
+
External code must `require "omnizip"` to use the gem. Files under
|
|
611
|
+
`lib/omnizip/**` are internal — requiring them directly (e.g.
|
|
612
|
+
`require "omnizip/formats/cpio"`) bypasses the autoload chain that
|
|
613
|
+
wires the namespace modules, and lookups for sibling constants may
|
|
614
|
+
fail with `NameError`.
|
|
615
|
+
|
|
610
616
|
See link:readme-docs/installation.adoc[Installation Guide] for complete instructions.
|
|
611
617
|
|
|
612
618
|
=== Command Line
|
data/lib/omnizip/algorithm.rb
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
require "omnizip"
|
|
5
3
|
#
|
|
6
4
|
# Copyright (C) 2024 Ribose Inc.
|
|
7
5
|
#
|
|
@@ -25,6 +23,8 @@ module Omnizip
|
|
|
25
23
|
# the required methods. Algorithms are automatically registered with the
|
|
26
24
|
# AlgorithmRegistry when defined.
|
|
27
25
|
class Algorithm
|
|
26
|
+
require "stringio"
|
|
27
|
+
|
|
28
28
|
attr_reader :options, :filter
|
|
29
29
|
|
|
30
30
|
# Initialize algorithm with options.
|
|
@@ -40,7 +40,7 @@ module Omnizip
|
|
|
40
40
|
# The filter will be applied before compression and reversed after
|
|
41
41
|
# decompression. Returns self for method chaining.
|
|
42
42
|
#
|
|
43
|
-
# @param filter [
|
|
43
|
+
# @param filter [Omnizip::Filter, FilterPipeline] Filter or
|
|
44
44
|
# pipeline to use
|
|
45
45
|
# @return [self] For method chaining
|
|
46
46
|
def with_filter(filter)
|
|
@@ -84,6 +84,39 @@ module Omnizip
|
|
|
84
84
|
"#{self} must implement .metadata"
|
|
85
85
|
end
|
|
86
86
|
|
|
87
|
+
# Class-level convenience: compress `data` and return the
|
|
88
|
+
# compressed bytes. Carries the algorithm's streaming contract
|
|
89
|
+
# over a single StringIO so callers with the whole payload in
|
|
90
|
+
# memory (parallel compressors, small files) don't need to
|
|
91
|
+
# instantiate and wire streams themselves.
|
|
92
|
+
#
|
|
93
|
+
# @param data [String, IO] Input to compress
|
|
94
|
+
# @param options [Hash] Forwarded to the algorithm
|
|
95
|
+
# @return [String] Compressed bytes
|
|
96
|
+
def compress(data, **options)
|
|
97
|
+
instance = new(options)
|
|
98
|
+
input = data.is_a?(::IO) ? data : ::StringIO.new(data.to_s.b)
|
|
99
|
+
output = ::StringIO.new
|
|
100
|
+
output.set_encoding(Encoding::BINARY)
|
|
101
|
+
instance.compress(input, output, options)
|
|
102
|
+
output.string
|
|
103
|
+
end
|
|
104
|
+
|
|
105
|
+
# Class-level convenience: decompress `data` and return the
|
|
106
|
+
# uncompressed bytes. Mirror of +.compress+.
|
|
107
|
+
#
|
|
108
|
+
# @param data [String, IO] Input to decompress
|
|
109
|
+
# @param options [Hash] Forwarded to the algorithm
|
|
110
|
+
# @return [String] Decompressed bytes
|
|
111
|
+
def decompress(data, **options)
|
|
112
|
+
instance = new(options)
|
|
113
|
+
input = data.is_a?(::IO) ? data : ::StringIO.new(data.to_s.b)
|
|
114
|
+
output = ::StringIO.new
|
|
115
|
+
output.set_encoding(Encoding::BINARY)
|
|
116
|
+
instance.decompress(input, output, options)
|
|
117
|
+
output.string
|
|
118
|
+
end
|
|
119
|
+
|
|
87
120
|
# Automatically register algorithm when inherited.
|
|
88
121
|
#
|
|
89
122
|
# This hook is called whenever a class inherits from Algorithm,
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
require "omnizip"
|
|
5
3
|
# Copyright (C) 2025 Ribose Inc.
|
|
6
4
|
#
|
|
7
5
|
# Permission is hereby granted, free of charge, to any person obtaining a
|
|
@@ -84,9 +82,7 @@ module Omnizip
|
|
|
84
82
|
# @param options [Models::CompressionOptions] Decompression options
|
|
85
83
|
# @return [void]
|
|
86
84
|
def decompress(input_stream, output_stream, _options = nil)
|
|
87
|
-
|
|
88
|
-
output_stream.set_encoding(Encoding::BINARY)
|
|
89
|
-
end
|
|
85
|
+
output_stream.set_encoding(Encoding::BINARY)
|
|
90
86
|
decoder = Decoder.new(input_stream)
|
|
91
87
|
decompressed = decoder.decode_stream
|
|
92
88
|
output_stream.write(decompressed)
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
require "omnizip"
|
|
5
3
|
# Copyright (C) 2025 Ribose Inc.
|
|
6
4
|
#
|
|
7
5
|
# Permission is hereby granted, free of charge, to any person obtaining a
|
|
@@ -79,9 +77,7 @@ module Omnizip
|
|
|
79
77
|
# @param options [Models::CompressionOptions] Decompression options
|
|
80
78
|
# @return [void]
|
|
81
79
|
def decompress(input_stream, output_stream, _options = nil)
|
|
82
|
-
|
|
83
|
-
output_stream.set_encoding(Encoding::BINARY)
|
|
84
|
-
end
|
|
80
|
+
output_stream.set_encoding(Encoding::BINARY)
|
|
85
81
|
decoder = Decoder.new(input_stream)
|
|
86
82
|
decompressed = decoder.decode_stream
|
|
87
83
|
output_stream.write(decompressed)
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
require "omnizip"
|
|
5
3
|
require "zlib"
|
|
6
4
|
|
|
7
5
|
module Omnizip
|
|
@@ -75,8 +73,8 @@ module Omnizip
|
|
|
75
73
|
return if compressed.nil? || compressed.empty?
|
|
76
74
|
|
|
77
75
|
# Set output to binary mode if it's a StringIO
|
|
78
|
-
output.set_encoding(Encoding::BINARY)
|
|
79
|
-
output.binmode
|
|
76
|
+
output.set_encoding(Encoding::BINARY)
|
|
77
|
+
output.binmode
|
|
80
78
|
|
|
81
79
|
# Use Zlib::Inflate with maximum window size
|
|
82
80
|
inflater = Zlib::Inflate.new(Zlib::MAX_WBITS)
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
require "omnizip"
|
|
5
3
|
# Copyright (C) 2025 Ribose Inc.
|
|
6
4
|
#
|
|
7
5
|
# Permission is hereby granted, free of charge, to any person obtaining a
|
|
@@ -138,7 +136,7 @@ module Omnizip
|
|
|
138
136
|
# @return [IO] The output_stream (for chaining)
|
|
139
137
|
def decompress(input_stream, output_stream, options = nil)
|
|
140
138
|
# Set binary encoding on output stream for proper byte handling
|
|
141
|
-
output_stream.set_encoding(Encoding::BINARY)
|
|
139
|
+
output_stream.set_encoding(Encoding::BINARY)
|
|
142
140
|
|
|
143
141
|
# Build decoder options, merging with instance variables as fallbacks
|
|
144
142
|
decoder_opts = build_decoder_options(options)
|