omnizip 0.3.5 → 0.3.7

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.
Files changed (324) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop_todo.yml +27 -366
  3. data/CHANGELOG.md +13 -0
  4. data/LICENSE +1 -1
  5. data/README.adoc +80 -9
  6. data/lib/omnizip/algorithm.rb +1 -1
  7. data/lib/omnizip/algorithms/bzip2/decoder.rb +0 -6
  8. data/lib/omnizip/algorithms/bzip2/encoder.rb +0 -6
  9. data/lib/omnizip/algorithms/bzip2.rb +11 -11
  10. data/lib/omnizip/algorithms/deflate/decoder.rb +0 -1
  11. data/lib/omnizip/algorithms/deflate/encoder.rb +0 -1
  12. data/lib/omnizip/algorithms/deflate.rb +5 -8
  13. data/lib/omnizip/algorithms/deflate64/decoder.rb +0 -2
  14. data/lib/omnizip/algorithms/deflate64/encoder.rb +0 -3
  15. data/lib/omnizip/algorithms/deflate64/huffman_coder.rb +0 -2
  16. data/lib/omnizip/algorithms/deflate64/lz77_encoder.rb +0 -2
  17. data/lib/omnizip/algorithms/deflate64.rb +7 -1
  18. data/lib/omnizip/algorithms/lzma/decoder.rb +1 -3
  19. data/lib/omnizip/algorithms/lzma/distance_coder.rb +0 -3
  20. data/lib/omnizip/algorithms/lzma/encoder.rb +0 -4
  21. data/lib/omnizip/algorithms/lzma/length_coder.rb +0 -3
  22. data/lib/omnizip/algorithms/lzma/literal_decoder.rb +0 -2
  23. data/lib/omnizip/algorithms/lzma/literal_encoder.rb +0 -2
  24. data/lib/omnizip/algorithms/lzma/lzip_decoder.rb +0 -2
  25. data/lib/omnizip/algorithms/lzma/lzma_alone_decoder.rb +0 -1
  26. data/lib/omnizip/algorithms/lzma/match_finder.rb +0 -2
  27. data/lib/omnizip/algorithms/lzma/match_finder_config.rb +1 -1
  28. data/lib/omnizip/algorithms/lzma/match_finder_factory.rb +1 -5
  29. data/lib/omnizip/algorithms/lzma/range_coder.rb +0 -3
  30. data/lib/omnizip/algorithms/lzma/range_decoder.rb +0 -2
  31. data/lib/omnizip/algorithms/lzma/range_encoder.rb +0 -2
  32. data/lib/omnizip/algorithms/lzma/xz_buffered_range_encoder.rb +0 -2
  33. data/lib/omnizip/algorithms/lzma/xz_encoder.rb +0 -6
  34. data/lib/omnizip/algorithms/lzma/xz_encoder_fast.rb +0 -6
  35. data/lib/omnizip/algorithms/lzma/xz_match_finder_adapter.rb +0 -3
  36. data/lib/omnizip/algorithms/lzma/xz_price_calculator.rb +0 -2
  37. data/lib/omnizip/algorithms/lzma/xz_probability_models.rb +0 -3
  38. data/lib/omnizip/algorithms/lzma/xz_range_encoder_exact.rb +0 -2
  39. data/lib/omnizip/algorithms/lzma/xz_utils_decoder.rb +9 -10
  40. data/lib/omnizip/algorithms/lzma.rb +46 -40
  41. data/lib/omnizip/algorithms/lzma2/chunk_manager.rb +0 -2
  42. data/lib/omnizip/algorithms/lzma2/constants.rb +0 -3
  43. data/lib/omnizip/algorithms/lzma2/encoder.rb +2 -4
  44. data/lib/omnizip/algorithms/lzma2/lzma2_chunk.rb +2 -0
  45. data/lib/omnizip/algorithms/lzma2/properties.rb +5 -3
  46. data/lib/omnizip/algorithms/lzma2/simple_lzma2_encoder.rb +1 -6
  47. data/lib/omnizip/algorithms/lzma2/xz_encoder_adapter.rb +0 -2
  48. data/lib/omnizip/algorithms/lzma2.rb +12 -14
  49. data/lib/omnizip/algorithms/ppmd7/context.rb +0 -3
  50. data/lib/omnizip/algorithms/ppmd7/decoder.rb +0 -3
  51. data/lib/omnizip/algorithms/ppmd7/encoder.rb +0 -3
  52. data/lib/omnizip/algorithms/ppmd7/model.rb +0 -3
  53. data/lib/omnizip/algorithms/ppmd7.rb +12 -8
  54. data/lib/omnizip/algorithms/ppmd8/context.rb +1 -1
  55. data/lib/omnizip/algorithms/ppmd8/decoder.rb +0 -3
  56. data/lib/omnizip/algorithms/ppmd8/encoder.rb +0 -3
  57. data/lib/omnizip/algorithms/ppmd8/model.rb +0 -4
  58. data/lib/omnizip/algorithms/ppmd8.rb +13 -7
  59. data/lib/omnizip/algorithms/ppmd_base.rb +1 -1
  60. data/lib/omnizip/algorithms/registration.rb +28 -0
  61. data/lib/omnizip/algorithms/sevenzip_lzma2.rb +4 -4
  62. data/lib/omnizip/algorithms/xz_lzma2.rb +4 -4
  63. data/lib/omnizip/algorithms/zstandard/decoder.rb +0 -6
  64. data/lib/omnizip/algorithms/zstandard/encoder.rb +0 -3
  65. data/lib/omnizip/algorithms/zstandard/frame/block.rb +0 -2
  66. data/lib/omnizip/algorithms/zstandard/frame/header.rb +0 -2
  67. data/lib/omnizip/algorithms/zstandard/frame.rb +33 -0
  68. data/lib/omnizip/algorithms/zstandard/fse/encoder.rb +0 -3
  69. data/lib/omnizip/algorithms/zstandard/fse/table.rb +0 -3
  70. data/lib/omnizip/algorithms/zstandard/fse.rb +34 -0
  71. data/lib/omnizip/algorithms/zstandard/huffman.rb +0 -3
  72. data/lib/omnizip/algorithms/zstandard/huffman_encoder.rb +0 -3
  73. data/lib/omnizip/algorithms/zstandard/literals.rb +0 -4
  74. data/lib/omnizip/algorithms/zstandard/literals_encoder.rb +0 -3
  75. data/lib/omnizip/algorithms/zstandard/sequences.rb +0 -4
  76. data/lib/omnizip/algorithms/zstandard.rb +22 -8
  77. data/lib/omnizip/algorithms.rb +21 -0
  78. data/lib/omnizip/buffer.rb +4 -2
  79. data/lib/omnizip/checksums/crc32.rb +3 -2
  80. data/lib/omnizip/checksums/crc64.rb +3 -2
  81. data/lib/omnizip/checksums/registration.rb +16 -0
  82. data/lib/omnizip/checksums/verifier.rb +0 -1
  83. data/lib/omnizip/checksums.rb +11 -0
  84. data/lib/omnizip/chunked.rb +5 -4
  85. data/lib/omnizip/cli.rb +13 -13
  86. data/lib/omnizip/commands/archive_create_command.rb +4 -4
  87. data/lib/omnizip/commands/archive_extract_command.rb +3 -3
  88. data/lib/omnizip/commands/archive_list_command.rb +3 -3
  89. data/lib/omnizip/commands/archive_repair_command.rb +1 -1
  90. data/lib/omnizip/commands/archive_verify_command.rb +1 -1
  91. data/lib/omnizip/commands/compress_command.rb +1 -1
  92. data/lib/omnizip/commands/decompress_command.rb +1 -1
  93. data/lib/omnizip/commands/list_command.rb +1 -1
  94. data/lib/omnizip/commands/metadata_command.rb +3 -3
  95. data/lib/omnizip/commands/parity_create_command.rb +1 -1
  96. data/lib/omnizip/commands/parity_repair_command.rb +1 -1
  97. data/lib/omnizip/commands/parity_verify_command.rb +1 -1
  98. data/lib/omnizip/commands/profile_list_command.rb +1 -1
  99. data/lib/omnizip/commands/profile_show_command.rb +1 -1
  100. data/lib/omnizip/commands.rb +21 -0
  101. data/lib/omnizip/converter/conversion_strategy.rb +0 -2
  102. data/lib/omnizip/converter/seven_zip_to_zip_strategy.rb +0 -5
  103. data/lib/omnizip/converter/zip_to_seven_zip_strategy.rb +0 -5
  104. data/lib/omnizip/converter.rb +8 -7
  105. data/lib/omnizip/crypto/aes256/cipher.rb +0 -1
  106. data/lib/omnizip/crypto/aes256/key_derivation.rb +0 -1
  107. data/lib/omnizip/crypto/aes256.rb +3 -3
  108. data/lib/omnizip/crypto.rb +11 -0
  109. data/lib/omnizip/eta/exponential_smoothing_estimator.rb +0 -3
  110. data/lib/omnizip/eta/moving_average_estimator.rb +0 -3
  111. data/lib/omnizip/eta.rb +11 -6
  112. data/lib/omnizip/extraction/filter_chain.rb +0 -2
  113. data/lib/omnizip/extraction/pattern_matcher.rb +0 -4
  114. data/lib/omnizip/extraction/selective_extractor.rb +0 -4
  115. data/lib/omnizip/extraction.rb +11 -7
  116. data/lib/omnizip/file_type.rb +1 -1
  117. data/lib/omnizip/filter_registry.rb +14 -47
  118. data/lib/omnizip/filters/bcj.rb +1 -3
  119. data/lib/omnizip/filters/bcj2/decoder.rb +0 -3
  120. data/lib/omnizip/filters/bcj2/encoder.rb +0 -3
  121. data/lib/omnizip/filters/bcj2/stream_data.rb +0 -2
  122. data/lib/omnizip/filters/bcj2.rb +1 -5
  123. data/lib/omnizip/filters/bcj_arm.rb +0 -2
  124. data/lib/omnizip/filters/bcj_arm64.rb +0 -2
  125. data/lib/omnizip/filters/bcj_ia64.rb +0 -2
  126. data/lib/omnizip/filters/bcj_ppc.rb +0 -2
  127. data/lib/omnizip/filters/bcj_sparc.rb +0 -2
  128. data/lib/omnizip/filters/bcj_x86.rb +1 -1
  129. data/lib/omnizip/filters/delta.rb +0 -2
  130. data/lib/omnizip/filters/registration.rb +22 -0
  131. data/lib/omnizip/filters/registry.rb +2 -12
  132. data/lib/omnizip/filters.rb +22 -0
  133. data/lib/omnizip/format_detector.rb +0 -5
  134. data/lib/omnizip/formats/bzip2_file.rb +2 -4
  135. data/lib/omnizip/formats/cpio/entry.rb +2 -2
  136. data/lib/omnizip/formats/cpio/reader.rb +2 -3
  137. data/lib/omnizip/formats/cpio/writer.rb +2 -3
  138. data/lib/omnizip/formats/cpio.rb +7 -6
  139. data/lib/omnizip/formats/format_spec_loader.rb +0 -2
  140. data/lib/omnizip/formats/gzip.rb +2 -2
  141. data/lib/omnizip/formats/iso/reader.rb +0 -3
  142. data/lib/omnizip/formats/iso/volume_builder.rb +0 -1
  143. data/lib/omnizip/formats/iso/writer.rb +0 -3
  144. data/lib/omnizip/formats/iso.rb +12 -14
  145. data/lib/omnizip/formats/lzip.rb +2 -4
  146. data/lib/omnizip/formats/lzma_alone.rb +2 -4
  147. data/lib/omnizip/formats/ole/allocation_table.rb +9 -4
  148. data/lib/omnizip/formats/ole/dirent.rb +10 -6
  149. data/lib/omnizip/formats/ole/header.rb +6 -4
  150. data/lib/omnizip/formats/ole/storage.rb +25 -14
  151. data/lib/omnizip/formats/ole/types/variant.rb +10 -3
  152. data/lib/omnizip/formats/ole.rb +18 -9
  153. data/lib/omnizip/formats/rar/archive_repairer.rb +0 -3
  154. data/lib/omnizip/formats/rar/archive_verifier.rb +0 -3
  155. data/lib/omnizip/formats/rar/block_parser.rb +2 -4
  156. data/lib/omnizip/formats/rar/compression/dispatcher.rb +0 -10
  157. data/lib/omnizip/formats/rar/compression/lz77_huffman/decoder.rb +0 -4
  158. data/lib/omnizip/formats/rar/compression/lz77_huffman/encoder.rb +0 -4
  159. data/lib/omnizip/formats/rar/compression/lz77_huffman.rb +25 -0
  160. data/lib/omnizip/formats/rar/compression/ppmd/context.rb +0 -2
  161. data/lib/omnizip/formats/rar/compression/ppmd/decoder.rb +0 -4
  162. data/lib/omnizip/formats/rar/compression/ppmd/encoder.rb +0 -5
  163. data/lib/omnizip/formats/rar/compression/ppmd.rb +16 -0
  164. data/lib/omnizip/formats/rar/compression.rb +17 -0
  165. data/lib/omnizip/formats/rar/external_writer.rb +0 -1
  166. data/lib/omnizip/formats/rar/header.rb +2 -3
  167. data/lib/omnizip/formats/rar/models.rb +14 -0
  168. data/lib/omnizip/formats/rar/rar5/compression/lzma.rb +1 -3
  169. data/lib/omnizip/formats/rar/rar5/encryption/aes256_cbc.rb +0 -1
  170. data/lib/omnizip/formats/rar/rar5/encryption/encryption_manager.rb +0 -4
  171. data/lib/omnizip/formats/rar/rar5/header.rb +0 -3
  172. data/lib/omnizip/formats/rar/rar5/multi_volume/volume_manager.rb +0 -4
  173. data/lib/omnizip/formats/rar/rar5/multi_volume/volume_writer.rb +0 -2
  174. data/lib/omnizip/formats/rar/rar5/solid/solid_encoder.rb +0 -1
  175. data/lib/omnizip/formats/rar/rar5/solid/solid_manager.rb +0 -3
  176. data/lib/omnizip/formats/rar/rar5/writer.rb +1 -14
  177. data/lib/omnizip/formats/rar/rar_format_base.rb +0 -2
  178. data/lib/omnizip/formats/rar/reader.rb +2 -10
  179. data/lib/omnizip/formats/rar/volume_manager.rb +0 -2
  180. data/lib/omnizip/formats/rar/writer.rb +2 -4
  181. data/lib/omnizip/formats/rar.rb +120 -152
  182. data/lib/omnizip/formats/rar3/compressor.rb +0 -2
  183. data/lib/omnizip/formats/rar3/decompressor.rb +0 -2
  184. data/lib/omnizip/formats/rar3/reader.rb +0 -3
  185. data/lib/omnizip/formats/rar3/writer.rb +0 -2
  186. data/lib/omnizip/formats/rar5/compressor.rb +0 -2
  187. data/lib/omnizip/formats/rar5/decompressor.rb +0 -2
  188. data/lib/omnizip/formats/rar5/reader.rb +0 -3
  189. data/lib/omnizip/formats/rar5/writer.rb +0 -2
  190. data/lib/omnizip/formats/rpm/entry.rb +2 -3
  191. data/lib/omnizip/formats/rpm/header.rb +2 -4
  192. data/lib/omnizip/formats/rpm/lead.rb +2 -3
  193. data/lib/omnizip/formats/rpm/tag.rb +2 -3
  194. data/lib/omnizip/formats/rpm/writer.rb +141 -34
  195. data/lib/omnizip/formats/rpm.rb +8 -8
  196. data/lib/omnizip/formats/seven_zip/bcj2_stream_decompressor.rb +2 -4
  197. data/lib/omnizip/formats/seven_zip/coder_chain.rb +2 -6
  198. data/lib/omnizip/formats/seven_zip/encoded_header.rb +2 -5
  199. data/lib/omnizip/formats/seven_zip/encrypted_header.rb +2 -4
  200. data/lib/omnizip/formats/seven_zip/file_collector.rb +0 -1
  201. data/lib/omnizip/formats/seven_zip/header.rb +2 -5
  202. data/lib/omnizip/formats/seven_zip/header_encryptor.rb +2 -3
  203. data/lib/omnizip/formats/seven_zip/header_writer.rb +2 -4
  204. data/lib/omnizip/formats/seven_zip/models/folder.rb +0 -2
  205. data/lib/omnizip/formats/seven_zip/models.rb +20 -0
  206. data/lib/omnizip/formats/seven_zip/parser.rb +5 -10
  207. data/lib/omnizip/formats/seven_zip/reader.rb +1 -11
  208. data/lib/omnizip/formats/seven_zip/split_archive_reader.rb +2 -8
  209. data/lib/omnizip/formats/seven_zip/split_archive_writer.rb +2 -8
  210. data/lib/omnizip/formats/seven_zip/stream_compressor.rb +1 -2
  211. data/lib/omnizip/formats/seven_zip/stream_decompressor.rb +2 -4
  212. data/lib/omnizip/formats/seven_zip/writer.rb +2 -11
  213. data/lib/omnizip/formats/seven_zip.rb +40 -18
  214. data/lib/omnizip/formats/tar/entry.rb +2 -2
  215. data/lib/omnizip/formats/tar/header.rb +2 -3
  216. data/lib/omnizip/formats/tar/reader.rb +2 -4
  217. data/lib/omnizip/formats/tar/writer.rb +2 -4
  218. data/lib/omnizip/formats/tar.rb +8 -7
  219. data/lib/omnizip/formats/xar/entry.rb +3 -4
  220. data/lib/omnizip/formats/xar/header.rb +2 -3
  221. data/lib/omnizip/formats/xar/reader.rb +2 -8
  222. data/lib/omnizip/formats/xar/toc.rb +2 -3
  223. data/lib/omnizip/formats/xar/writer.rb +2 -8
  224. data/lib/omnizip/formats/xar.rb +9 -8
  225. data/lib/omnizip/formats/xz/reader.rb +1 -2
  226. data/lib/omnizip/formats/{xz_impl → xz}/writer.rb +2 -7
  227. data/lib/omnizip/formats/xz.rb +10 -8
  228. data/lib/omnizip/formats/xz_impl/block_decoder.rb +12 -14
  229. data/lib/omnizip/formats/xz_impl/block_encoder.rb +3 -4
  230. data/lib/omnizip/formats/xz_impl/block_header.rb +1 -1
  231. data/lib/omnizip/formats/xz_impl/block_header_parser.rb +3 -5
  232. data/lib/omnizip/formats/xz_impl/index_decoder.rb +2 -3
  233. data/lib/omnizip/formats/xz_impl/index_encoder.rb +2 -3
  234. data/lib/omnizip/formats/xz_impl/stream_decoder.rb +1 -7
  235. data/lib/omnizip/formats/xz_impl/stream_encoder.rb +1 -7
  236. data/lib/omnizip/formats/xz_impl/stream_footer.rb +2 -3
  237. data/lib/omnizip/formats/xz_impl/stream_footer_parser.rb +2 -3
  238. data/lib/omnizip/formats/xz_impl/stream_header.rb +2 -3
  239. data/lib/omnizip/formats/xz_impl/stream_header_parser.rb +3 -4
  240. data/lib/omnizip/formats/xz_impl/vli.rb +1 -1
  241. data/lib/omnizip/formats/xz_impl.rb +52 -0
  242. data/lib/omnizip/formats/zip/central_directory_header.rb +2 -3
  243. data/lib/omnizip/formats/zip/end_of_central_directory.rb +2 -2
  244. data/lib/omnizip/formats/zip/local_file_header.rb +2 -2
  245. data/lib/omnizip/formats/zip/reader.rb +2 -7
  246. data/lib/omnizip/formats/zip/writer.rb +2 -7
  247. data/lib/omnizip/formats/zip/zip64_end_of_central_directory.rb +2 -2
  248. data/lib/omnizip/formats/zip/zip64_end_of_central_directory_locator.rb +2 -2
  249. data/lib/omnizip/formats/zip/zip64_extra_field.rb +2 -2
  250. data/lib/omnizip/formats/zip.rb +17 -8
  251. data/lib/omnizip/formats.rb +40 -0
  252. data/lib/omnizip/implementations/base.rb +19 -0
  253. data/lib/omnizip/implementations/seven_zip/lzma/decoder.rb +8 -9
  254. data/lib/omnizip/implementations/seven_zip/lzma/encoder.rb +0 -11
  255. data/lib/omnizip/implementations/seven_zip/lzma/match_finder.rb +0 -3
  256. data/lib/omnizip/implementations/seven_zip/lzma/range_decoder.rb +0 -3
  257. data/lib/omnizip/implementations/seven_zip/lzma/range_encoder.rb +0 -3
  258. data/lib/omnizip/implementations/seven_zip/lzma/state_machine.rb +0 -2
  259. data/lib/omnizip/implementations/seven_zip/lzma.rb +21 -0
  260. data/lib/omnizip/implementations/seven_zip/lzma2/encoder.rb +6 -9
  261. data/lib/omnizip/implementations/seven_zip/lzma2.rb +12 -0
  262. data/lib/omnizip/implementations/seven_zip.rb +11 -0
  263. data/lib/omnizip/implementations/xz_utils/lzma2/decoder.rb +1 -5
  264. data/lib/omnizip/implementations/xz_utils/lzma2/encoder.rb +1 -12
  265. data/lib/omnizip/implementations/xz_utils/lzma2.rb +13 -0
  266. data/lib/omnizip/implementations/xz_utils.rb +10 -0
  267. data/lib/omnizip/implementations.rb +11 -0
  268. data/lib/omnizip/io.rb +13 -0
  269. data/lib/omnizip/link_handler.rb +2 -3
  270. data/lib/omnizip/metadata/metadata_editor.rb +0 -2
  271. data/lib/omnizip/metadata.rb +7 -6
  272. data/lib/omnizip/models/filter_chain.rb +0 -2
  273. data/lib/omnizip/models/filter_config.rb +5 -32
  274. data/lib/omnizip/parallel.rb +12 -7
  275. data/lib/omnizip/parity/chunked_block_processor.rb +0 -2
  276. data/lib/omnizip/parity/models/creator_packet.rb +0 -2
  277. data/lib/omnizip/parity/models/file_description_packet.rb +0 -2
  278. data/lib/omnizip/parity/models/ifsc_packet.rb +0 -12
  279. data/lib/omnizip/parity/models/main_packet.rb +0 -2
  280. data/lib/omnizip/parity/models/packet_registry.rb +0 -7
  281. data/lib/omnizip/parity/models/recovery_slice_packet.rb +0 -2
  282. data/lib/omnizip/parity/models.rb +27 -0
  283. data/lib/omnizip/parity/par2_creator.rb +0 -1
  284. data/lib/omnizip/parity/par2_repairer.rb +0 -3
  285. data/lib/omnizip/parity/par2_verifier.rb +0 -1
  286. data/lib/omnizip/parity/par2cmdline_algorithm.rb +0 -2
  287. data/lib/omnizip/parity/reed_solomon_decoder.rb +0 -3
  288. data/lib/omnizip/parity/reed_solomon_encoder.rb +0 -3
  289. data/lib/omnizip/parity/reed_solomon_matrix.rb +0 -3
  290. data/lib/omnizip/parity.rb +26 -5
  291. data/lib/omnizip/password/winzip_aes_strategy.rb +0 -2
  292. data/lib/omnizip/password/zip_crypto_strategy.rb +0 -3
  293. data/lib/omnizip/password.rb +7 -6
  294. data/lib/omnizip/pipe.rb +2 -3
  295. data/lib/omnizip/platform/ntfs_streams.rb +0 -1
  296. data/lib/omnizip/profile/archive_profile.rb +1 -2
  297. data/lib/omnizip/profile/balanced_profile.rb +0 -2
  298. data/lib/omnizip/profile/binary_profile.rb +1 -2
  299. data/lib/omnizip/profile/compression_profile.rb +1 -1
  300. data/lib/omnizip/profile/custom_profile.rb +0 -2
  301. data/lib/omnizip/profile/fast_profile.rb +0 -2
  302. data/lib/omnizip/profile/maximum_profile.rb +0 -2
  303. data/lib/omnizip/profile/profile_detector.rb +1 -1
  304. data/lib/omnizip/profile/text_profile.rb +1 -2
  305. data/lib/omnizip/profile.rb +13 -12
  306. data/lib/omnizip/profiler.rb +3 -4
  307. data/lib/omnizip/progress/callback_reporter.rb +0 -2
  308. data/lib/omnizip/progress/console_reporter.rb +0 -3
  309. data/lib/omnizip/progress/log_reporter.rb +0 -2
  310. data/lib/omnizip/progress/progress_tracker.rb +0 -3
  311. data/lib/omnizip/progress/silent_reporter.rb +0 -2
  312. data/lib/omnizip/progress.rb +13 -9
  313. data/lib/omnizip/rubyzip_compat.rb +1 -1
  314. data/lib/omnizip/temp/safe_extract.rb +0 -4
  315. data/lib/omnizip/temp.rb +5 -5
  316. data/lib/omnizip/version.rb +1 -1
  317. data/lib/omnizip/zip/entry.rb +0 -3
  318. data/lib/omnizip/zip/file.rb +0 -7
  319. data/lib/omnizip/zip/input_stream.rb +0 -4
  320. data/lib/omnizip/zip/output_stream.rb +0 -4
  321. data/lib/omnizip/zip.rb +23 -0
  322. data/lib/omnizip.rb +170 -138
  323. metadata +39 -13
  324. /data/lib/omnizip/formats/{xz_impl/constants.rb → xz_const.rb} +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6a395e650c4db2554fed636efcec40fec1b1f77e77d2c778fbfbe336fe5fbcd8
4
- data.tar.gz: 7846eed6f91af6b9e21cb0d17418bbbbe868c2c76109e1456a8db2a8eb561094
3
+ metadata.gz: 77e13c00351fadfa082ef58c3053379870550819c1f0b1ca8c51f6de35be21ad
4
+ data.tar.gz: b18a4614b01c6d0cd974103f7eb5aba464caf0ff467d4a108eacc5744dc44382
5
5
  SHA512:
6
- metadata.gz: 32c4633a90fe9d134cea551c0dd2293d0e488d32650a136d1cc41d5c8b438fd762a181cdadaa212366fe10a0c6066b2fc27a162a9129dacbd5485906b130a6ce
7
- data.tar.gz: dcc450866ff51cec1373009aee2dc1d4a7d37a061dd2dbcb3ceb9e50f34cdf8465b33a63261bf10f334d5dc6512940b7cb1d97392c0b33067d53f85a99b5679e
6
+ metadata.gz: 16b86cdedfe871db80695c62dad8fb63236aeb43662e0064ad76115986887ae5fe30bba1a827d5ef2f9f93ab6746c821f4a2fae2ea188dd1bb3425c3460f54e8
7
+ data.tar.gz: '088baddfb374607a12572d440662c9406aca7254e50a9ce3e8a2965135c56fbdde617b054ff2e0f7ccade0ba9916f71b594dce17e8add271f77487fdb9f4a185'
data/.rubocop_todo.yml CHANGED
@@ -1,240 +1,56 @@
1
1
  # This configuration was generated by
2
2
  # `rubocop --auto-gen-config`
3
- # on 2026-02-20 05:39:34 UTC using RuboCop version 1.81.6.
3
+ # on 2026-02-23 11:56:10 UTC using RuboCop version 1.81.6.
4
4
  # The point is for the user to remove these configuration records
5
5
  # one by one as the offenses are removed from the code base.
6
6
  # Note that changes in the inspected code, or installation of new
7
7
  # versions of RuboCop, may require this file to be generated again.
8
8
 
9
- # Offense count: 119
9
+ # Offense count: 69
10
10
  # This cop supports safe autocorrection (--autocorrect).
11
11
  # Configuration parameters: EnforcedStyle, IndentationWidth.
12
12
  # SupportedStyles: with_first_argument, with_fixed_indentation
13
13
  Layout/ArgumentAlignment:
14
14
  Enabled: false
15
15
 
16
- # Offense count: 7
16
+ # Offense count: 1
17
17
  # This cop supports safe autocorrection (--autocorrect).
18
18
  # Configuration parameters: EnforcedStyle, IndentationWidth.
19
19
  # SupportedStyles: with_first_element, with_fixed_indentation
20
20
  Layout/ArrayAlignment:
21
21
  Exclude:
22
- - 'lib/omnizip/algorithms/lzma/xz_utils_decoder.rb'
23
- - 'lib/omnizip/algorithms/zstandard/fse/encoder.rb'
24
- - 'lib/omnizip/algorithms/zstandard/literals_encoder.rb'
25
- - 'lib/omnizip/formats/xar/header.rb'
26
- - 'spec/omnizip/algorithms/lzma/distance_coder_spec.rb'
27
- - 'spec/omnizip/seven_zip_tool_compatibility_spec.rb'
28
-
29
- # Offense count: 13
30
- # This cop supports safe autocorrection (--autocorrect).
31
- # Configuration parameters: IndentationWidth.
32
- Layout/AssignmentIndentation:
33
- Exclude:
34
- - 'lib/omnizip/algorithms/lzma.rb'
35
- - 'lib/omnizip/formats/rar/rar5/compression/lzss.rb'
36
- - 'lib/omnizip/formats/xar/entry.rb'
37
- - 'lib/omnizip/formats/xar/toc.rb'
38
-
39
- # Offense count: 10
40
- # This cop supports safe autocorrection (--autocorrect).
41
- # Configuration parameters: EnforcedStyleAlignWith, Severity.
42
- # SupportedStylesAlignWith: start_of_line, begin
43
- Layout/BeginEndAlignment:
44
- Exclude:
45
- - 'lib/omnizip/algorithms/lzma/xz_utils_decoder.rb'
22
+ - 'lib/omnizip/implementations/seven_zip/lzma/decoder.rb'
46
23
 
47
- # Offense count: 28
24
+ # Offense count: 2
48
25
  # This cop supports safe autocorrection (--autocorrect).
49
26
  # Configuration parameters: EnforcedStyleAlignWith.
50
27
  # SupportedStylesAlignWith: either, start_of_block, start_of_line
51
28
  Layout/BlockAlignment:
52
29
  Exclude:
53
30
  - 'lib/omnizip/algorithms/lzma/lzip_decoder.rb'
54
- - 'lib/omnizip/algorithms/lzma/xz_utils_decoder.rb'
55
- - 'lib/omnizip/algorithms/zstandard/fse/encoder.rb'
56
- - 'lib/omnizip/formats/seven_zip/writer.rb'
57
- - 'lib/omnizip/formats/xar/reader.rb'
58
- - 'lib/omnizip/formats/xz_impl/block_decoder.rb'
59
- - 'lib/omnizip/formats/xz_impl/index_decoder.rb'
60
- - 'spec/omnizip/algorithms/lzma/xz_compat_spec.rb'
61
- - 'spec/omnizip/formats/seven_zip/seven_zip_reference_spec.rb'
62
- - 'spec/omnizip/formats/xar/header_spec.rb'
63
- - 'spec/omnizip/tool_compatibility_spec.rb'
64
- - 'spec/omnizip/xz_tool_compatibility_spec.rb'
65
-
66
- # Offense count: 23
67
- # This cop supports safe autocorrection (--autocorrect).
68
- Layout/BlockEndNewline:
69
- Exclude:
70
- - 'lib/omnizip/algorithms/lzma/lzip_decoder.rb'
71
- - 'lib/omnizip/algorithms/lzma/xz_utils_decoder.rb'
72
- - 'lib/omnizip/algorithms/zstandard/fse/encoder.rb'
73
- - 'lib/omnizip/formats/seven_zip/writer.rb'
74
- - 'lib/omnizip/formats/xar/reader.rb'
75
- - 'lib/omnizip/formats/xz_impl/block_decoder.rb'
76
- - 'lib/omnizip/formats/xz_impl/index_decoder.rb'
77
- - 'spec/omnizip/algorithms/lzma/xz_compat_spec.rb'
78
- - 'spec/omnizip/formats/seven_zip/seven_zip_reference_spec.rb'
79
- - 'spec/omnizip/formats/xar/header_spec.rb'
80
- - 'spec/omnizip/tool_compatibility_spec.rb'
81
- - 'spec/omnizip/xz_tool_compatibility_spec.rb'
82
-
83
- # Offense count: 20
84
- # This cop supports safe autocorrection (--autocorrect).
85
- Layout/ClosingParenthesisIndentation:
86
- Exclude:
87
- - 'lib/omnizip/algorithms/lzma/distance_coder.rb'
88
- - 'lib/omnizip/algorithms/lzma/xz_utils_decoder.rb'
89
- - 'lib/omnizip/implementations/seven_zip/lzma2/encoder.rb'
90
- - 'spec/omnizip/formats/rar/libarchive_rar_reference_spec.rb'
91
-
92
- # Offense count: 3
93
- # This cop supports safe autocorrection (--autocorrect).
94
- # Configuration parameters: AllowForAlignment.
95
- Layout/CommentIndentation:
96
- Exclude:
97
- - 'lib/omnizip/algorithms/lzma/xz_utils_decoder.rb'
98
-
99
- # Offense count: 12
100
- # This cop supports safe autocorrection (--autocorrect).
101
- Layout/ElseAlignment:
102
- Exclude:
103
- - 'lib/omnizip/algorithms/lzma/xz_utils_decoder.rb'
104
- - 'lib/omnizip/formats/xar/writer.rb'
105
31
  - 'lib/omnizip/formats/xz_impl/block_decoder.rb'
106
32
 
107
- # Offense count: 1
33
+ # Offense count: 10
108
34
  # This cop supports safe autocorrection (--autocorrect).
109
35
  # Configuration parameters: EmptyLineBetweenMethodDefs, EmptyLineBetweenClassDefs, EmptyLineBetweenModuleDefs, DefLikeMacros, AllowAdjacentOneLineDefs, NumberOfEmptyLines.
110
36
  Layout/EmptyLineBetweenDefs:
111
37
  Exclude:
112
- - 'lib/omnizip/algorithms/zstandard/fse/table.rb'
38
+ - 'lib/omnizip.rb'
39
+ - 'lib/omnizip/formats/rar.rb'
113
40
 
114
- # Offense count: 2
41
+ # Offense count: 17
115
42
  # This cop supports safe autocorrection (--autocorrect).
116
43
  Layout/EmptyLines:
117
- Exclude:
118
- - 'lib/omnizip/algorithms/zstandard/fse/table.rb'
119
- - 'lib/omnizip/algorithms/zstandard/huffman.rb'
120
-
121
- # Offense count: 3
122
- # This cop supports safe autocorrection (--autocorrect).
123
- Layout/EmptyLinesAroundMethodBody:
124
- Exclude:
125
- - 'lib/omnizip/algorithms/zstandard/huffman.rb'
126
- - 'lib/omnizip/formats/seven_zip.rb'
127
-
128
- # Offense count: 11
129
- # This cop supports safe autocorrection (--autocorrect).
130
- # Configuration parameters: EnforcedStyleAlignWith, Severity.
131
- # SupportedStylesAlignWith: keyword, variable, start_of_line
132
- Layout/EndAlignment:
133
- Exclude:
134
- - 'lib/omnizip/algorithms/lzma/xz_utils_decoder.rb'
135
- - 'lib/omnizip/formats/xar/writer.rb'
136
- - 'lib/omnizip/formats/xz_impl/block_decoder.rb'
137
-
138
- # Offense count: 1
139
- # This cop supports safe autocorrection (--autocorrect).
140
- # Configuration parameters: AllowForAlignment, AllowBeforeTrailingComments, ForceEqualSignAlignment.
141
- Layout/ExtraSpacing:
142
- Exclude:
143
- - 'lib/omnizip/algorithms/zstandard/sequences.rb'
144
-
145
- # Offense count: 20
146
- # This cop supports safe autocorrection (--autocorrect).
147
- # Configuration parameters: EnforcedStyle, IndentationWidth.
148
- # SupportedStyles: consistent, consistent_relative_to_receiver, special_for_inner_method_call, special_for_inner_method_call_in_parentheses
149
- Layout/FirstArgumentIndentation:
150
- Exclude:
151
- - 'lib/omnizip/algorithms/lzma/distance_coder.rb'
152
- - 'lib/omnizip/algorithms/lzma/xz_utils_decoder.rb'
153
- - 'lib/omnizip/implementations/seven_zip/lzma2/encoder.rb'
154
- - 'spec/omnizip/formats/rar/libarchive_rar_reference_spec.rb'
155
-
156
- # Offense count: 4
157
- # This cop supports safe autocorrection (--autocorrect).
158
- # Configuration parameters: EnforcedStyle, IndentationWidth.
159
- # SupportedStyles: special_inside_parentheses, consistent, align_brackets
160
- Layout/FirstArrayElementIndentation:
161
- Exclude:
162
- - 'lib/omnizip/implementations/seven_zip/lzma2/encoder.rb'
163
- - 'lib/omnizip/implementations/xz_utils/lzma2/encoder.rb'
164
-
165
- # Offense count: 3
166
- # This cop supports safe autocorrection (--autocorrect).
167
- # Configuration parameters: AllowMultipleStyles, EnforcedHashRocketStyle, EnforcedColonStyle, EnforcedLastArgumentHashStyle.
168
- # SupportedHashRocketStyles: key, separator, table
169
- # SupportedColonStyles: key, separator, table
170
- # SupportedLastArgumentHashStyles: always_inspect, always_ignore, ignore_implicit, ignore_explicit
171
- Layout/HashAlignment:
172
- Exclude:
173
- - 'lib/omnizip/algorithms/sevenzip_lzma2.rb'
174
- - 'lib/omnizip/formats/seven_zip/writer.rb'
175
- - 'spec/omnizip/formats/xar/entry_spec.rb'
176
-
177
- # Offense count: 2
178
- # This cop supports safe autocorrection (--autocorrect).
179
- # Configuration parameters: EnforcedStyle.
180
- # SupportedStyles: normal, indented_internal_methods
181
- Layout/IndentationConsistency:
182
- Exclude:
183
- - 'lib/omnizip/formats/xz_impl/block_decoder.rb'
184
-
185
- # Offense count: 101
186
- # This cop supports safe autocorrection (--autocorrect).
187
- # Configuration parameters: Width, AllowedPatterns.
188
- Layout/IndentationWidth:
189
- Exclude:
190
- - 'lib/omnizip/algorithms/lzma/lzip_decoder.rb'
191
- - 'lib/omnizip/algorithms/lzma/xz_utils_decoder.rb'
192
- - 'lib/omnizip/algorithms/zstandard/fse/encoder.rb'
193
- - 'lib/omnizip/formats/seven_zip/writer.rb'
194
- - 'lib/omnizip/formats/xar/reader.rb'
195
- - 'lib/omnizip/formats/xar/writer.rb'
196
- - 'lib/omnizip/formats/xz_impl/block_decoder.rb'
197
- - 'lib/omnizip/formats/xz_impl/index_decoder.rb'
198
- - 'spec/omnizip/algorithms/lzma/xz_compat_spec.rb'
199
- - 'spec/omnizip/formats/seven_zip/seven_zip_reference_spec.rb'
200
- - 'spec/omnizip/formats/xar/header_spec.rb'
201
- - 'spec/omnizip/tool_compatibility_spec.rb'
202
- - 'spec/omnizip/xz_tool_compatibility_spec.rb'
44
+ Enabled: false
203
45
 
204
- # Offense count: 1940
46
+ # Offense count: 1831
205
47
  # This cop supports safe autocorrection (--autocorrect).
206
48
  # Configuration parameters: Max, AllowHeredoc, AllowURI, AllowQualifiedName, URISchemes, IgnoreCopDirectives, AllowedPatterns, SplitStrings.
207
49
  # URISchemes: http, https
208
50
  Layout/LineLength:
209
51
  Enabled: false
210
52
 
211
- # Offense count: 2
212
- # This cop supports safe autocorrection (--autocorrect).
213
- # Configuration parameters: EnforcedStyle.
214
- # SupportedStyles: symmetrical, new_line, same_line
215
- Layout/MultilineArrayBraceLayout:
216
- Exclude:
217
- - 'lib/omnizip/implementations/seven_zip/lzma2/encoder.rb'
218
- - 'lib/omnizip/implementations/xz_utils/lzma2/encoder.rb'
219
-
220
- # Offense count: 20
221
- # This cop supports safe autocorrection (--autocorrect).
222
- # Configuration parameters: EnforcedStyle.
223
- # SupportedStyles: symmetrical, new_line, same_line
224
- Layout/MultilineMethodCallBraceLayout:
225
- Exclude:
226
- - 'lib/omnizip/algorithms/lzma/distance_coder.rb'
227
- - 'lib/omnizip/algorithms/lzma/xz_utils_decoder.rb'
228
- - 'lib/omnizip/implementations/seven_zip/lzma2/encoder.rb'
229
- - 'spec/omnizip/formats/rar/libarchive_rar_reference_spec.rb'
230
-
231
- # Offense count: 19
232
- # This cop supports safe autocorrection (--autocorrect).
233
- Layout/RescueEnsureAlignment:
234
- Exclude:
235
- - 'lib/omnizip/algorithms/lzma/xz_utils_decoder.rb'
236
-
237
- # Offense count: 154
53
+ # Offense count: 69
238
54
  # This cop supports safe autocorrection (--autocorrect).
239
55
  # Configuration parameters: AllowInHeredoc.
240
56
  Layout/TrailingWhitespace:
@@ -255,7 +71,7 @@ Lint/ConstantDefinitionInBlock:
255
71
  - 'spec/omnizip/seven_zip_tool_compatibility_spec.rb'
256
72
  - 'spec/omnizip/xz_tool_compatibility_spec.rb'
257
73
 
258
- # Offense count: 32
74
+ # Offense count: 34
259
75
  # Configuration parameters: IgnoreLiteralBranches, IgnoreConstantBranches, IgnoreDuplicateElseBranch.
260
76
  Lint/DuplicateBranch:
261
77
  Enabled: false
@@ -270,11 +86,10 @@ Lint/DuplicateMethods:
270
86
  - 'lib/omnizip/parity/par2_creator.rb'
271
87
  - 'lib/omnizip/zip/file.rb'
272
88
 
273
- # Offense count: 4
89
+ # Offense count: 3
274
90
  # Configuration parameters: AllowComments, AllowEmptyLambdas.
275
91
  Lint/EmptyBlock:
276
92
  Exclude:
277
- - 'lib/omnizip/parallel.rb'
278
93
  - 'spec/omnizip/buffer_spec.rb'
279
94
  - 'spec/omnizip/formats/rar/rar5/multi_volume/volume_writer_spec.rb'
280
95
 
@@ -285,8 +100,8 @@ Lint/IneffectiveAccessModifier:
285
100
  - 'lib/omnizip/checksums/crc_base.rb'
286
101
  - 'lib/omnizip/formats/cpio/entry.rb'
287
102
  - 'lib/omnizip/formats/rar/external_writer.rb'
103
+ - 'lib/omnizip/formats/xz/writer.rb'
288
104
  - 'lib/omnizip/formats/xz_impl/block_header.rb'
289
- - 'lib/omnizip/formats/xz_impl/writer.rb'
290
105
 
291
106
  # Offense count: 1
292
107
  # Configuration parameters: MaximumRangeSize.
@@ -319,40 +134,21 @@ Lint/UnreachableLoop:
319
134
  Exclude:
320
135
  - 'lib/omnizip/algorithms/lzma/range_decoder.rb'
321
136
 
322
- # Offense count: 5
137
+ # Offense count: 2
323
138
  # This cop supports safe autocorrection (--autocorrect).
324
139
  # Configuration parameters: AllowUnusedKeywordArguments, IgnoreEmptyMethods, IgnoreNotImplementedMethods, NotImplementedExceptions.
325
140
  # NotImplementedExceptions: NotImplementedError
326
141
  Lint/UnusedMethodArgument:
327
142
  Exclude:
328
- - 'lib/omnizip/algorithms/zstandard/decoder.rb'
329
- - 'lib/omnizip/algorithms/zstandard/sequences.rb'
330
143
  - 'lib/omnizip/filters/registry.rb'
331
144
  - 'lib/omnizip/formats/iso/writer.rb'
332
145
 
333
- # Offense count: 1
334
- # This cop supports safe autocorrection (--autocorrect).
335
- # Configuration parameters: ContextCreatingMethods, MethodCreatingMethods.
336
- Lint/UselessAccessModifier:
337
- Exclude:
338
- - 'lib/omnizip/algorithms/zstandard/fse/table.rb'
339
-
340
- # Offense count: 9
341
- # This cop supports safe autocorrection (--autocorrect).
342
- Lint/UselessAssignment:
343
- Exclude:
344
- - 'lib/omnizip/algorithms/zstandard/decoder.rb'
345
- - 'lib/omnizip/algorithms/zstandard/frame/header.rb'
346
- - 'lib/omnizip/algorithms/zstandard/huffman.rb'
347
- - 'lib/omnizip/algorithms/zstandard/literals.rb'
348
- - 'lib/omnizip/algorithms/zstandard/sequences.rb'
349
-
350
146
  # Offense count: 4
351
147
  Lint/UselessConstantScoping:
352
148
  Exclude:
353
149
  - 'lib/omnizip/algorithms/lzma/optimal_encoder.rb'
354
150
 
355
- # Offense count: 525
151
+ # Offense count: 552
356
152
  # Configuration parameters: AllowedMethods, AllowedPatterns, CountRepeatedAttributes, Max.
357
153
  Metrics/AbcSize:
358
154
  Enabled: false
@@ -368,22 +164,22 @@ Metrics/BlockLength:
368
164
  Metrics/BlockNesting:
369
165
  Max: 6
370
166
 
371
- # Offense count: 250
167
+ # Offense count: 266
372
168
  # Configuration parameters: AllowedMethods, AllowedPatterns, Max.
373
169
  Metrics/CyclomaticComplexity:
374
170
  Enabled: false
375
171
 
376
- # Offense count: 905
172
+ # Offense count: 948
377
173
  # Configuration parameters: CountComments, CountAsOne, AllowedMethods, AllowedPatterns.
378
174
  Metrics/MethodLength:
379
175
  Max: 434
380
176
 
381
- # Offense count: 31
177
+ # Offense count: 33
382
178
  # Configuration parameters: CountKeywordArgs, MaxOptionalParameters.
383
179
  Metrics/ParameterLists:
384
180
  Max: 20
385
181
 
386
- # Offense count: 178
182
+ # Offense count: 187
387
183
  # Configuration parameters: AllowedMethods, AllowedPatterns, Max.
388
184
  Metrics/PerceivedComplexity:
389
185
  Enabled: false
@@ -394,7 +190,7 @@ Metrics/PerceivedComplexity:
394
190
  Naming/MethodParameterName:
395
191
  Enabled: false
396
192
 
397
- # Offense count: 37
193
+ # Offense count: 38
398
194
  # Configuration parameters: Mode, AllowedMethods, AllowedPatterns, AllowBangMethods, WaywardPredicates.
399
195
  # AllowedMethods: call
400
196
  # WaywardPredicates: nonzero?
@@ -439,48 +235,20 @@ Performance/MapMethodChain:
439
235
  Exclude:
440
236
  - 'lib/omnizip/commands/archive_create_command.rb'
441
237
 
442
- # Offense count: 10
238
+ # Offense count: 7
443
239
  Security/Open:
444
240
  Exclude:
445
241
  - 'lib/omnizip/formats/cpio.rb'
446
242
  - 'lib/omnizip/formats/iso.rb'
447
- - 'lib/omnizip/formats/rar.rb'
448
243
  - 'lib/omnizip/zip/file.rb'
449
244
 
450
- # Offense count: 3
451
- # This cop supports unsafe autocorrection (--autocorrect-all).
452
- Style/BitwisePredicate:
453
- Exclude:
454
- - 'lib/omnizip/algorithms/zstandard/frame/block.rb'
455
- - 'lib/omnizip/algorithms/zstandard/frame/header.rb'
456
- - 'lib/omnizip/algorithms/zstandard/huffman.rb'
457
-
458
- # Offense count: 27
459
- # This cop supports safe autocorrection (--autocorrect).
460
- # Configuration parameters: EnforcedStyle, ProceduralMethods, FunctionalMethods, AllowedMethods, AllowedPatterns, AllowBracesOnProceduralOneLiners, BracesRequiredMethods.
461
- # SupportedStyles: line_count_based, semantic, braces_for_chaining, always_braces
462
- # ProceduralMethods: benchmark, bm, bmbm, create, each_with_object, measure, new, realtime, tap, with_object
463
- # FunctionalMethods: let, let!, subject, watch
464
- # AllowedMethods: lambda, proc, it
465
- Style/BlockDelimiters:
466
- Exclude:
467
- - 'lib/omnizip/algorithms/lzma/lzip_decoder.rb'
468
- - 'lib/omnizip/algorithms/lzma/xz_utils_decoder.rb'
469
- - 'lib/omnizip/algorithms/zstandard/fse/encoder.rb'
470
- - 'lib/omnizip/formats/seven_zip/writer.rb'
471
- - 'lib/omnizip/formats/xar/reader.rb'
472
- - 'lib/omnizip/formats/xz_impl/index_decoder.rb'
473
- - 'spec/omnizip/algorithms/lzma/xz_compat_spec.rb'
474
- - 'spec/omnizip/formats/seven_zip/seven_zip_reference_spec.rb'
475
- - 'spec/omnizip/formats/xar/header_spec.rb'
476
- - 'spec/omnizip/tool_compatibility_spec.rb'
477
- - 'spec/omnizip/xz_tool_compatibility_spec.rb'
478
-
479
- # Offense count: 2
245
+ # Offense count: 6
480
246
  # This cop supports safe autocorrection (--autocorrect).
481
247
  Style/ComparableClamp:
482
248
  Exclude:
483
249
  - 'lib/omnizip/algorithms/bzip2.rb'
250
+ - 'lib/omnizip/algorithms/lzma/xz_utils_decoder.rb'
251
+ - 'lib/omnizip/implementations/seven_zip/lzma/decoder.rb'
484
252
  - 'lib/omnizip/metadata/archive_metadata.rb'
485
253
 
486
254
  # Offense count: 2
@@ -492,66 +260,19 @@ Style/EmptyElse:
492
260
  - 'lib/omnizip/algorithms/ppmd7/encoder.rb'
493
261
  - 'lib/omnizip/formats/iso/volume_descriptor.rb'
494
262
 
495
- # Offense count: 19
496
- # This cop supports safe autocorrection (--autocorrect).
497
- # Configuration parameters: AllowedVars, DefaultToNil.
498
- Style/FetchEnvVar:
499
- Exclude:
500
- - 'lib/omnizip/algorithms/lzma/distance_coder.rb'
501
-
502
- # Offense count: 139
263
+ # Offense count: 161
503
264
  # This cop supports safe autocorrection (--autocorrect).
504
265
  # Configuration parameters: MaxUnannotatedPlaceholdersAllowed, Mode, AllowedMethods, AllowedPatterns.
505
266
  # SupportedStyles: annotated, template, unannotated
506
267
  Style/FormatStringToken:
507
268
  EnforcedStyle: unannotated
508
269
 
509
- # Offense count: 1
510
- # This cop supports safe autocorrection (--autocorrect).
511
- # Configuration parameters: AllowIfModifier.
512
- Style/IfInsideElse:
513
- Exclude:
514
- - 'lib/omnizip/algorithms/lzma/xz_utils_decoder.rb'
515
-
516
270
  # Offense count: 2
517
271
  Style/MixinUsage:
518
272
  Exclude:
519
273
  - 'spec/scripts/debug_7z_structure.rb'
520
274
  - 'spec/scripts/debug_writer_output.rb'
521
275
 
522
- # Offense count: 25
523
- # This cop supports safe autocorrection (--autocorrect).
524
- Style/MultilineIfModifier:
525
- Exclude:
526
- - 'lib/omnizip/algorithms/lzma.rb'
527
- - 'lib/omnizip/algorithms/lzma/lzip_decoder.rb'
528
- - 'lib/omnizip/formats/rar/rar5/compression/lzss.rb'
529
- - 'lib/omnizip/formats/rar3/reader.rb'
530
- - 'lib/omnizip/formats/rar5/reader.rb'
531
- - 'lib/omnizip/formats/xar/entry.rb'
532
- - 'lib/omnizip/formats/xar/header.rb'
533
- - 'lib/omnizip/formats/xar/toc.rb'
534
- - 'lib/omnizip/implementations/seven_zip/lzma/decoder.rb'
535
-
536
- # Offense count: 1
537
- # This cop supports safe autocorrection (--autocorrect).
538
- Style/MultilineTernaryOperator:
539
- Exclude:
540
- - 'lib/omnizip/formats/xar/writer.rb'
541
-
542
- # Offense count: 23
543
- # This cop supports unsafe autocorrection (--autocorrect-all).
544
- # Configuration parameters: EnforcedStyle, AllowedMethods, AllowedPatterns.
545
- # SupportedStyles: predicate, comparison
546
- Style/NumericPredicate:
547
- Exclude:
548
- - 'spec/**/*'
549
- - 'lib/omnizip/algorithms/lzma/xz_utils_decoder.rb'
550
- - 'lib/omnizip/algorithms/zstandard/fse/bitstream.rb'
551
- - 'lib/omnizip/algorithms/zstandard/fse/table.rb'
552
- - 'lib/omnizip/algorithms/zstandard/huffman.rb'
553
- - 'lib/omnizip/algorithms/zstandard/sequences.rb'
554
-
555
276
  # Offense count: 3
556
277
  # Configuration parameters: AllowedMethods.
557
278
  # AllowedMethods: respond_to_missing?
@@ -561,69 +282,9 @@ Style/OptionalBooleanParameter:
561
282
  - 'lib/omnizip/formats/rar/archive_verifier.rb'
562
283
  - 'lib/omnizip/formats/seven_zip/writer.rb'
563
284
 
564
- # Offense count: 82
565
- # This cop supports safe autocorrection (--autocorrect).
566
- # Configuration parameters: EnforcedStyle.
567
- # SupportedStyles: same_as_string_literals, single_quotes, double_quotes
568
- Style/QuotedSymbols:
569
- Exclude:
570
- - 'lib/omnizip/buffer.rb'
571
- - 'lib/omnizip/buffer/memory_extractor.rb'
572
- - 'lib/omnizip/filters/registry.rb'
573
- - 'lib/omnizip/pipe/stream_compressor.rb'
574
- - 'spec/omnizip/filters/integration_spec.rb'
575
- - 'spec/omnizip/filters/registry_spec.rb'
576
- - 'spec/omnizip/integration/filter_integration_spec.rb'
577
- - 'spec/omnizip/models/filter_chain_spec.rb'
578
-
579
- # Offense count: 2
580
- # This cop supports safe autocorrection (--autocorrect).
581
- Style/RedundantAssignment:
582
- Exclude:
583
- - 'lib/omnizip/algorithms/zstandard/huffman.rb'
584
- - 'lib/omnizip/formats/seven_zip.rb'
585
-
586
- # Offense count: 17
587
- # This cop supports safe autocorrection (--autocorrect).
588
- Style/RedundantParentheses:
589
- Exclude:
590
- - 'lib/omnizip/algorithms/lzma/distance_coder.rb'
591
- - 'lib/omnizip/algorithms/zstandard/sequences.rb'
592
-
593
- # Offense count: 1
594
- # This cop supports unsafe autocorrection (--autocorrect-all).
595
- # Configuration parameters: ConvertCodeThatCanStartToReturnNil, AllowedMethods, MaxChainLength.
596
- # AllowedMethods: present?, blank?, presence, try, try!
597
- Style/SafeNavigation:
598
- Exclude:
599
- - 'lib/omnizip/algorithms/zstandard/huffman.rb'
600
-
601
285
  # Offense count: 1
602
286
  # This cop supports unsafe autocorrection (--autocorrect-all).
603
287
  # Configuration parameters: Mode.
604
288
  Style/StringConcatenation:
605
289
  Exclude:
606
290
  - 'lib/omnizip/formats/iso/writer.rb'
607
-
608
- # Offense count: 20
609
- # This cop supports safe autocorrection (--autocorrect).
610
- # Configuration parameters: EnforcedStyle, ConsistentQuotesInMultiline.
611
- # SupportedStyles: single_quotes, double_quotes
612
- Style/StringLiterals:
613
- Exclude:
614
- - 'lib/omnizip/algorithms/lzma/lzip_decoder.rb'
615
- - 'spec/omnizip/tool_compatibility_spec.rb'
616
-
617
- # Offense count: 2
618
- # This cop supports safe autocorrection (--autocorrect).
619
- # Configuration parameters: EnforcedStyleForMultiline.
620
- # SupportedStylesForMultiline: comma, consistent_comma, diff_comma, no_comma
621
- Style/TrailingCommaInHashLiteral:
622
- Exclude:
623
- - 'lib/omnizip/algorithms/zstandard/sequences.rb'
624
-
625
- # Offense count: 1
626
- # This cop supports unsafe autocorrection (--autocorrect-all).
627
- Style/ZeroLengthPredicate:
628
- Exclude:
629
- - 'lib/omnizip/algorithms/zstandard/sequences.rb'
data/CHANGELOG.md CHANGED
@@ -5,6 +5,19 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [0.3.6] - 2026-02-23
9
+
10
+ ### Changed
11
+ - Converted all `require_relative` statements to Ruby `autoload` for better memory management
12
+ - Updated dependency version bounds: `base64 ~> 0.2`, `rexml ~> 3.3`
13
+ - Removed deprecated backward compatibility code from internal APIs
14
+ - Cleaned up backward compatibility comments (kept format compatibility notes)
15
+
16
+ ### Fixed
17
+ - Fixed syntax error in `lib/omnizip/parallel.rb` (duplicate module declaration)
18
+ - Fixed RAR format `verify` and `repair` convenience methods
19
+ - Fixed library loading to ensure convenience methods are available at startup
20
+
8
21
  ## [Unreleased]
9
22
 
10
23
  ### Added
data/LICENSE CHANGED
@@ -6,7 +6,7 @@ This project is a pure Ruby port of 7-Zip compression algorithms.
6
6
  The original 7-Zip source code is licensed under the GNU LGPL 2.1 license.
7
7
  This Ruby implementation maintains compatibility with that license.
8
8
 
9
- Copyright (C) 2024 Ribose Inc.
9
+ Copyright (C) 2026 Ribose Inc.
10
10
  Copyright (C) 1999-2024 Igor Pavlov (7-Zip original implementation)
11
11
 
12
12
  See the COPYING file for the complete text of the GNU LGPL 2.1 license.