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.
Files changed (482) hide show
  1. checksums.yaml +4 -4
  2. data/README.adoc +6 -0
  3. data/lib/omnizip/algorithm.rb +36 -3
  4. data/lib/omnizip/algorithm_registry.rb +0 -2
  5. data/lib/omnizip/algorithms/bzip2/bwt.rb +0 -2
  6. data/lib/omnizip/algorithms/bzip2/decoder.rb +0 -2
  7. data/lib/omnizip/algorithms/bzip2/encoder.rb +0 -2
  8. data/lib/omnizip/algorithms/bzip2/huffman.rb +0 -2
  9. data/lib/omnizip/algorithms/bzip2/mtf.rb +0 -2
  10. data/lib/omnizip/algorithms/bzip2/rle.rb +0 -2
  11. data/lib/omnizip/algorithms/bzip2.rb +1 -5
  12. data/lib/omnizip/algorithms/deflate/constants.rb +0 -2
  13. data/lib/omnizip/algorithms/deflate/decoder.rb +0 -2
  14. data/lib/omnizip/algorithms/deflate/encoder.rb +0 -2
  15. data/lib/omnizip/algorithms/deflate.rb +1 -5
  16. data/lib/omnizip/algorithms/deflate64/constants.rb +0 -2
  17. data/lib/omnizip/algorithms/deflate64/decoder.rb +0 -2
  18. data/lib/omnizip/algorithms/deflate64/encoder.rb +0 -2
  19. data/lib/omnizip/algorithms/deflate64/huffman_coder.rb +0 -2
  20. data/lib/omnizip/algorithms/deflate64/lz77_encoder.rb +0 -2
  21. data/lib/omnizip/algorithms/deflate64.rb +2 -4
  22. data/lib/omnizip/algorithms/lzma/bit_model.rb +0 -2
  23. data/lib/omnizip/algorithms/lzma/constants.rb +0 -2
  24. data/lib/omnizip/algorithms/lzma/decoder.rb +0 -2
  25. data/lib/omnizip/algorithms/lzma/dictionary.rb +0 -2
  26. data/lib/omnizip/algorithms/lzma/distance_coder.rb +0 -2
  27. data/lib/omnizip/algorithms/lzma/encoder.rb +0 -2
  28. data/lib/omnizip/algorithms/lzma/length_coder.rb +0 -2
  29. data/lib/omnizip/algorithms/lzma/literal_decoder.rb +0 -2
  30. data/lib/omnizip/algorithms/lzma/literal_encoder.rb +0 -2
  31. data/lib/omnizip/algorithms/lzma/lzip_decoder.rb +0 -2
  32. data/lib/omnizip/algorithms/lzma/lzma_alone_decoder.rb +0 -2
  33. data/lib/omnizip/algorithms/lzma/lzma_state.rb +0 -2
  34. data/lib/omnizip/algorithms/lzma/match.rb +0 -2
  35. data/lib/omnizip/algorithms/lzma/match_finder.rb +0 -2
  36. data/lib/omnizip/algorithms/lzma/match_finder_config.rb +0 -2
  37. data/lib/omnizip/algorithms/lzma/match_finder_factory.rb +0 -2
  38. data/lib/omnizip/algorithms/lzma/optimal_encoder.rb +0 -2
  39. data/lib/omnizip/algorithms/lzma/probability_models.rb +0 -2
  40. data/lib/omnizip/algorithms/lzma/range_coder.rb +0 -2
  41. data/lib/omnizip/algorithms/lzma/range_decoder.rb +0 -2
  42. data/lib/omnizip/algorithms/lzma/range_encoder.rb +0 -2
  43. data/lib/omnizip/algorithms/lzma/state.rb +0 -2
  44. data/lib/omnizip/algorithms/lzma/xz_buffered_range_encoder.rb +0 -2
  45. data/lib/omnizip/algorithms/lzma/xz_encoder.rb +0 -2
  46. data/lib/omnizip/algorithms/lzma/xz_encoder_fast.rb +0 -2
  47. data/lib/omnizip/algorithms/lzma/xz_match_finder_adapter.rb +0 -2
  48. data/lib/omnizip/algorithms/lzma/xz_price_calculator.rb +0 -2
  49. data/lib/omnizip/algorithms/lzma/xz_probability_models.rb +0 -2
  50. data/lib/omnizip/algorithms/lzma/xz_range_encoder.rb +0 -2
  51. data/lib/omnizip/algorithms/lzma/xz_range_encoder_exact.rb +0 -2
  52. data/lib/omnizip/algorithms/lzma/xz_state.rb +0 -2
  53. data/lib/omnizip/algorithms/lzma/xz_utils_decoder.rb +0 -2
  54. data/lib/omnizip/algorithms/lzma.rb +1 -3
  55. data/lib/omnizip/algorithms/lzma2/chunk_manager.rb +0 -2
  56. data/lib/omnizip/algorithms/lzma2/constants.rb +0 -2
  57. data/lib/omnizip/algorithms/lzma2/encoder.rb +0 -2
  58. data/lib/omnizip/algorithms/lzma2/lzma2_chunk.rb +0 -2
  59. data/lib/omnizip/algorithms/lzma2/properties.rb +0 -2
  60. data/lib/omnizip/algorithms/lzma2/simple_lzma2_encoder.rb +0 -2
  61. data/lib/omnizip/algorithms/lzma2/xz_encoder_adapter.rb +0 -2
  62. data/lib/omnizip/algorithms/lzma2.rb +4 -14
  63. data/lib/omnizip/algorithms/ppmd7/constants.rb +0 -2
  64. data/lib/omnizip/algorithms/ppmd7/context.rb +0 -2
  65. data/lib/omnizip/algorithms/ppmd7/decoder.rb +0 -2
  66. data/lib/omnizip/algorithms/ppmd7/encoder.rb +0 -2
  67. data/lib/omnizip/algorithms/ppmd7/model.rb +0 -2
  68. data/lib/omnizip/algorithms/ppmd7/symbol_state.rb +0 -2
  69. data/lib/omnizip/algorithms/ppmd7.rb +0 -2
  70. data/lib/omnizip/algorithms/ppmd8/constants.rb +0 -2
  71. data/lib/omnizip/algorithms/ppmd8/context.rb +0 -2
  72. data/lib/omnizip/algorithms/ppmd8/decoder.rb +0 -2
  73. data/lib/omnizip/algorithms/ppmd8/encoder.rb +0 -2
  74. data/lib/omnizip/algorithms/ppmd8/model.rb +0 -2
  75. data/lib/omnizip/algorithms/ppmd8/restoration_method.rb +0 -2
  76. data/lib/omnizip/algorithms/ppmd8.rb +0 -2
  77. data/lib/omnizip/algorithms/ppmd_base.rb +0 -2
  78. data/lib/omnizip/algorithms/registration.rb +0 -2
  79. data/lib/omnizip/algorithms/sevenzip_lzma2.rb +0 -2
  80. data/lib/omnizip/algorithms/xz_lzma2.rb +0 -2
  81. data/lib/omnizip/algorithms/zstandard/constants.rb +0 -2
  82. data/lib/omnizip/algorithms/zstandard/decoder.rb +0 -2
  83. data/lib/omnizip/algorithms/zstandard/encoder.rb +0 -2
  84. data/lib/omnizip/algorithms/zstandard/frame/block.rb +0 -2
  85. data/lib/omnizip/algorithms/zstandard/frame/header.rb +0 -2
  86. data/lib/omnizip/algorithms/zstandard/frame.rb +0 -2
  87. data/lib/omnizip/algorithms/zstandard/fse/bitstream.rb +0 -2
  88. data/lib/omnizip/algorithms/zstandard/fse/encoder.rb +0 -2
  89. data/lib/omnizip/algorithms/zstandard/fse/table.rb +0 -2
  90. data/lib/omnizip/algorithms/zstandard/fse.rb +0 -2
  91. data/lib/omnizip/algorithms/zstandard/huffman.rb +0 -2
  92. data/lib/omnizip/algorithms/zstandard/huffman_encoder.rb +0 -2
  93. data/lib/omnizip/algorithms/zstandard/literals.rb +0 -2
  94. data/lib/omnizip/algorithms/zstandard/literals_encoder.rb +0 -2
  95. data/lib/omnizip/algorithms/zstandard/sequences.rb +0 -2
  96. data/lib/omnizip/algorithms/zstandard.rb +1 -5
  97. data/lib/omnizip/algorithms.rb +14 -3
  98. data/lib/omnizip/archive_handler.rb +0 -2
  99. data/lib/omnizip/archive_handlers/tar_handler.rb +0 -2
  100. data/lib/omnizip/archive_handlers/zip_handler.rb +0 -2
  101. data/lib/omnizip/archive_handlers.rb +0 -2
  102. data/lib/omnizip/buffer/memory_archive.rb +0 -2
  103. data/lib/omnizip/buffer/memory_extractor.rb +0 -2
  104. data/lib/omnizip/buffer.rb +0 -2
  105. data/lib/omnizip/checksum_registry.rb +0 -2
  106. data/lib/omnizip/checksums/crc32.rb +0 -2
  107. data/lib/omnizip/checksums/crc64.rb +0 -2
  108. data/lib/omnizip/checksums/crc_base.rb +0 -2
  109. data/lib/omnizip/checksums/registration.rb +0 -2
  110. data/lib/omnizip/checksums/verifier.rb +0 -2
  111. data/lib/omnizip/checksums.rb +0 -2
  112. data/lib/omnizip/chunked/memory_manager.rb +0 -2
  113. data/lib/omnizip/chunked/reader.rb +0 -2
  114. data/lib/omnizip/chunked/writer.rb +0 -2
  115. data/lib/omnizip/chunked.rb +0 -2
  116. data/lib/omnizip/cli/output_formatter.rb +0 -2
  117. data/lib/omnizip/cli/shared.rb +0 -2
  118. data/lib/omnizip/cli.rb +0 -2
  119. data/lib/omnizip/commands/archive_create_command.rb +0 -2
  120. data/lib/omnizip/commands/archive_extract_command.rb +0 -2
  121. data/lib/omnizip/commands/archive_list_command.rb +9 -9
  122. data/lib/omnizip/commands/archive_repair_command.rb +0 -2
  123. data/lib/omnizip/commands/archive_verify_command.rb +0 -2
  124. data/lib/omnizip/commands/compress_command.rb +0 -2
  125. data/lib/omnizip/commands/decompress_command.rb +0 -2
  126. data/lib/omnizip/commands/list_command.rb +0 -2
  127. data/lib/omnizip/commands/metadata_command.rb +0 -2
  128. data/lib/omnizip/commands/parity_create_command.rb +0 -2
  129. data/lib/omnizip/commands/parity_repair_command.rb +0 -2
  130. data/lib/omnizip/commands/parity_verify_command.rb +0 -2
  131. data/lib/omnizip/commands/profile_list_command.rb +0 -2
  132. data/lib/omnizip/commands/profile_show_command.rb +0 -2
  133. data/lib/omnizip/commands.rb +0 -2
  134. data/lib/omnizip/convenience.rb +0 -2
  135. data/lib/omnizip/converter/conversion_registry.rb +0 -2
  136. data/lib/omnizip/converter/conversion_strategy.rb +0 -2
  137. data/lib/omnizip/converter/seven_zip_to_zip_strategy.rb +0 -2
  138. data/lib/omnizip/converter/zip_to_seven_zip_strategy.rb +0 -2
  139. data/lib/omnizip/converter.rb +0 -2
  140. data/lib/omnizip/crypto/aes256/cipher.rb +0 -2
  141. data/lib/omnizip/crypto/aes256/constants.rb +0 -2
  142. data/lib/omnizip/crypto/aes256/key_derivation.rb +0 -2
  143. data/lib/omnizip/crypto/aes256.rb +0 -2
  144. data/lib/omnizip/crypto.rb +0 -2
  145. data/lib/omnizip/entry.rb +44 -0
  146. data/lib/omnizip/error.rb +0 -2
  147. data/lib/omnizip/eta/exponential_smoothing_estimator.rb +0 -2
  148. data/lib/omnizip/eta/moving_average_estimator.rb +0 -2
  149. data/lib/omnizip/eta/rate_calculator.rb +0 -2
  150. data/lib/omnizip/eta/sample_history.rb +0 -2
  151. data/lib/omnizip/eta/time_estimator.rb +0 -2
  152. data/lib/omnizip/eta.rb +0 -2
  153. data/lib/omnizip/extraction/filter_chain.rb +0 -2
  154. data/lib/omnizip/extraction/glob_pattern.rb +0 -2
  155. data/lib/omnizip/extraction/pattern_matcher.rb +0 -2
  156. data/lib/omnizip/extraction/predicate_pattern.rb +0 -2
  157. data/lib/omnizip/extraction/regex_pattern.rb +0 -2
  158. data/lib/omnizip/extraction/selective_extractor.rb +2 -12
  159. data/lib/omnizip/extraction.rb +0 -2
  160. data/lib/omnizip/file_type/mime_classifier.rb +0 -2
  161. data/lib/omnizip/file_type.rb +0 -2
  162. data/lib/omnizip/filter.rb +0 -2
  163. data/lib/omnizip/filter_pipeline.rb +1 -3
  164. data/lib/omnizip/filter_registry.rb +18 -18
  165. data/lib/omnizip/filters/bcj.rb +0 -2
  166. data/lib/omnizip/filters/bcj2/constants.rb +0 -2
  167. data/lib/omnizip/filters/bcj2/decoder.rb +0 -2
  168. data/lib/omnizip/filters/bcj2/encoder.rb +0 -2
  169. data/lib/omnizip/filters/bcj2/stream_data.rb +0 -2
  170. data/lib/omnizip/filters/bcj2.rb +1 -3
  171. data/lib/omnizip/filters/bcj_arm.rb +1 -3
  172. data/lib/omnizip/filters/bcj_arm64.rb +1 -3
  173. data/lib/omnizip/filters/bcj_ia64.rb +1 -3
  174. data/lib/omnizip/filters/bcj_ppc.rb +1 -3
  175. data/lib/omnizip/filters/bcj_sparc.rb +1 -3
  176. data/lib/omnizip/filters/bcj_x86.rb +1 -3
  177. data/lib/omnizip/filters/delta.rb +0 -2
  178. data/lib/omnizip/filters/xz_delta.rb +0 -2
  179. data/lib/omnizip/filters.rb +0 -4
  180. data/lib/omnizip/format_detector.rb +0 -2
  181. data/lib/omnizip/formats/bzip2_file.rb +0 -9
  182. data/lib/omnizip/formats/cpio/bounded_io.rb +0 -2
  183. data/lib/omnizip/formats/cpio/constants.rb +0 -2
  184. data/lib/omnizip/formats/cpio/entry.rb +6 -2
  185. data/lib/omnizip/formats/cpio/reader.rb +0 -2
  186. data/lib/omnizip/formats/cpio/writer.rb +0 -2
  187. data/lib/omnizip/formats/cpio.rb +0 -8
  188. data/lib/omnizip/formats/format_spec_loader.rb +0 -2
  189. data/lib/omnizip/formats/gzip.rb +0 -9
  190. data/lib/omnizip/formats/iso/directory_builder.rb +0 -2
  191. data/lib/omnizip/formats/iso/directory_record.rb +7 -2
  192. data/lib/omnizip/formats/iso/joliet.rb +0 -2
  193. data/lib/omnizip/formats/iso/path_table.rb +0 -2
  194. data/lib/omnizip/formats/iso/reader.rb +0 -2
  195. data/lib/omnizip/formats/iso/rock_ridge.rb +0 -2
  196. data/lib/omnizip/formats/iso/volume_builder.rb +0 -2
  197. data/lib/omnizip/formats/iso/volume_descriptor.rb +0 -2
  198. data/lib/omnizip/formats/iso/writer.rb +0 -2
  199. data/lib/omnizip/formats/iso.rb +0 -7
  200. data/lib/omnizip/formats/lzip.rb +0 -9
  201. data/lib/omnizip/formats/lzma_alone.rb +0 -8
  202. data/lib/omnizip/formats/msi/cab_extractor.rb +0 -2
  203. data/lib/omnizip/formats/msi/constants.rb +0 -2
  204. data/lib/omnizip/formats/msi/directory_resolver.rb +0 -2
  205. data/lib/omnizip/formats/msi/entry.rb +6 -2
  206. data/lib/omnizip/formats/msi/reader.rb +0 -2
  207. data/lib/omnizip/formats/msi/string_pool.rb +0 -2
  208. data/lib/omnizip/formats/msi/table_parser.rb +0 -2
  209. data/lib/omnizip/formats/msi.rb +0 -11
  210. data/lib/omnizip/formats/ole/allocation_table.rb +0 -2
  211. data/lib/omnizip/formats/ole/constants.rb +0 -2
  212. data/lib/omnizip/formats/ole/dirent.rb +6 -2
  213. data/lib/omnizip/formats/ole/header.rb +0 -2
  214. data/lib/omnizip/formats/ole/ranges_io.rb +0 -2
  215. data/lib/omnizip/formats/ole/storage.rb +0 -2
  216. data/lib/omnizip/formats/ole/types/variant.rb +0 -2
  217. data/lib/omnizip/formats/ole.rb +0 -11
  218. data/lib/omnizip/formats/rar/archive_repairer.rb +0 -2
  219. data/lib/omnizip/formats/rar/archive_verifier.rb +0 -2
  220. data/lib/omnizip/formats/rar/block_parser.rb +0 -2
  221. data/lib/omnizip/formats/rar/compression/bit_stream.rb +0 -2
  222. data/lib/omnizip/formats/rar/compression/dispatcher.rb +0 -2
  223. data/lib/omnizip/formats/rar/compression/lz77_huffman/decoder.rb +0 -2
  224. data/lib/omnizip/formats/rar/compression/lz77_huffman/encoder.rb +0 -2
  225. data/lib/omnizip/formats/rar/compression/lz77_huffman/huffman_builder.rb +0 -2
  226. data/lib/omnizip/formats/rar/compression/lz77_huffman/huffman_coder.rb +0 -2
  227. data/lib/omnizip/formats/rar/compression/lz77_huffman/match_finder.rb +0 -2
  228. data/lib/omnizip/formats/rar/compression/lz77_huffman/sliding_window.rb +0 -2
  229. data/lib/omnizip/formats/rar/compression/lz77_huffman.rb +0 -2
  230. data/lib/omnizip/formats/rar/compression/ppmd/context.rb +0 -2
  231. data/lib/omnizip/formats/rar/compression/ppmd/decoder.rb +0 -2
  232. data/lib/omnizip/formats/rar/compression/ppmd/encoder.rb +0 -2
  233. data/lib/omnizip/formats/rar/compression/ppmd.rb +0 -2
  234. data/lib/omnizip/formats/rar/compression.rb +0 -2
  235. data/lib/omnizip/formats/rar/compression_method_registry.rb +0 -2
  236. data/lib/omnizip/formats/rar/constants.rb +0 -2
  237. data/lib/omnizip/formats/rar/decompressor.rb +0 -2
  238. data/lib/omnizip/formats/rar/external_writer.rb +0 -2
  239. data/lib/omnizip/formats/rar/header.rb +0 -2
  240. data/lib/omnizip/formats/rar/license_validator.rb +0 -2
  241. data/lib/omnizip/formats/rar/models/rar_archive.rb +0 -2
  242. data/lib/omnizip/formats/rar/models/rar_entry.rb +0 -2
  243. data/lib/omnizip/formats/rar/models/rar_volume.rb +0 -2
  244. data/lib/omnizip/formats/rar/models.rb +0 -2
  245. data/lib/omnizip/formats/rar/parity_handler.rb +0 -2
  246. data/lib/omnizip/formats/rar/rar5/compression/lzma.rb +0 -2
  247. data/lib/omnizip/formats/rar/rar5/compression/lzss.rb +0 -2
  248. data/lib/omnizip/formats/rar/rar5/compression/store.rb +0 -2
  249. data/lib/omnizip/formats/rar/rar5/crc32.rb +0 -2
  250. data/lib/omnizip/formats/rar/rar5/encryption/aes256_cbc.rb +0 -2
  251. data/lib/omnizip/formats/rar/rar5/encryption/encryption_header.rb +0 -2
  252. data/lib/omnizip/formats/rar/rar5/encryption/encryption_manager.rb +0 -2
  253. data/lib/omnizip/formats/rar/rar5/encryption/key_derivation.rb +0 -2
  254. data/lib/omnizip/formats/rar/rar5/header.rb +0 -2
  255. data/lib/omnizip/formats/rar/rar5/models/encryption_options.rb +0 -2
  256. data/lib/omnizip/formats/rar/rar5/models/recovery_options.rb +0 -2
  257. data/lib/omnizip/formats/rar/rar5/models/solid_options.rb +0 -2
  258. data/lib/omnizip/formats/rar/rar5/models/volume_options.rb +0 -2
  259. data/lib/omnizip/formats/rar/rar5/multi_volume/volume_manager.rb +0 -2
  260. data/lib/omnizip/formats/rar/rar5/multi_volume/volume_splitter.rb +0 -2
  261. data/lib/omnizip/formats/rar/rar5/multi_volume/volume_writer.rb +0 -2
  262. data/lib/omnizip/formats/rar/rar5/solid/solid_encoder.rb +0 -2
  263. data/lib/omnizip/formats/rar/rar5/solid/solid_manager.rb +0 -2
  264. data/lib/omnizip/formats/rar/rar5/solid/solid_stream.rb +0 -2
  265. data/lib/omnizip/formats/rar/rar5/vint.rb +0 -2
  266. data/lib/omnizip/formats/rar/rar5/writer.rb +0 -2
  267. data/lib/omnizip/formats/rar/rar_format_base.rb +0 -2
  268. data/lib/omnizip/formats/rar/reader.rb +0 -2
  269. data/lib/omnizip/formats/rar/recovery_record.rb +0 -2
  270. data/lib/omnizip/formats/rar/volume_manager.rb +0 -2
  271. data/lib/omnizip/formats/rar/writer.rb +0 -2
  272. data/lib/omnizip/formats/rar.rb +0 -8
  273. data/lib/omnizip/formats/rar3/compressor.rb +0 -2
  274. data/lib/omnizip/formats/rar3/decompressor.rb +0 -2
  275. data/lib/omnizip/formats/rar3/reader.rb +7 -2
  276. data/lib/omnizip/formats/rar3/writer.rb +0 -2
  277. data/lib/omnizip/formats/rar5/compressor.rb +0 -2
  278. data/lib/omnizip/formats/rar5/decompressor.rb +0 -2
  279. data/lib/omnizip/formats/rar5/reader.rb +7 -2
  280. data/lib/omnizip/formats/rar5/writer.rb +0 -2
  281. data/lib/omnizip/formats/rpm/constants.rb +0 -2
  282. data/lib/omnizip/formats/rpm/entry.rb +6 -2
  283. data/lib/omnizip/formats/rpm/header.rb +0 -2
  284. data/lib/omnizip/formats/rpm/lead.rb +0 -2
  285. data/lib/omnizip/formats/rpm/tag.rb +0 -2
  286. data/lib/omnizip/formats/rpm/writer.rb +0 -2
  287. data/lib/omnizip/formats/rpm.rb +0 -2
  288. data/lib/omnizip/formats/seven_zip/bcj2_stream_decompressor.rb +0 -2
  289. data/lib/omnizip/formats/seven_zip/coder_chain.rb +0 -2
  290. data/lib/omnizip/formats/seven_zip/constants.rb +0 -2
  291. data/lib/omnizip/formats/seven_zip/encoded_header.rb +0 -2
  292. data/lib/omnizip/formats/seven_zip/encrypted_header.rb +0 -2
  293. data/lib/omnizip/formats/seven_zip/file_collector.rb +0 -2
  294. data/lib/omnizip/formats/seven_zip/header.rb +0 -2
  295. data/lib/omnizip/formats/seven_zip/header_encryptor.rb +0 -2
  296. data/lib/omnizip/formats/seven_zip/header_writer.rb +0 -2
  297. data/lib/omnizip/formats/seven_zip/models/coder_info.rb +0 -2
  298. data/lib/omnizip/formats/seven_zip/models/file_entry.rb +7 -2
  299. data/lib/omnizip/formats/seven_zip/models/folder.rb +0 -2
  300. data/lib/omnizip/formats/seven_zip/models/stream_info.rb +0 -2
  301. data/lib/omnizip/formats/seven_zip/models.rb +0 -2
  302. data/lib/omnizip/formats/seven_zip/parser.rb +0 -2
  303. data/lib/omnizip/formats/seven_zip/reader.rb +0 -2
  304. data/lib/omnizip/formats/seven_zip/split_archive_reader.rb +0 -2
  305. data/lib/omnizip/formats/seven_zip/split_archive_writer.rb +0 -2
  306. data/lib/omnizip/formats/seven_zip/stream_compressor.rb +0 -2
  307. data/lib/omnizip/formats/seven_zip/stream_decompressor.rb +0 -2
  308. data/lib/omnizip/formats/seven_zip/writer.rb +0 -2
  309. data/lib/omnizip/formats/seven_zip.rb +0 -8
  310. data/lib/omnizip/formats/tar/constants.rb +0 -2
  311. data/lib/omnizip/formats/tar/entry.rb +6 -2
  312. data/lib/omnizip/formats/tar/header.rb +0 -2
  313. data/lib/omnizip/formats/tar/reader.rb +0 -2
  314. data/lib/omnizip/formats/tar/writer.rb +0 -2
  315. data/lib/omnizip/formats/tar.rb +0 -8
  316. data/lib/omnizip/formats/xar/constants.rb +0 -2
  317. data/lib/omnizip/formats/xar/entry.rb +6 -2
  318. data/lib/omnizip/formats/xar/header.rb +0 -2
  319. data/lib/omnizip/formats/xar/reader.rb +0 -2
  320. data/lib/omnizip/formats/xar/toc.rb +0 -2
  321. data/lib/omnizip/formats/xar/writer.rb +0 -2
  322. data/lib/omnizip/formats/xar.rb +0 -8
  323. data/lib/omnizip/formats/xz/reader.rb +0 -2
  324. data/lib/omnizip/formats/xz/writer.rb +0 -2
  325. data/lib/omnizip/formats/xz.rb +0 -2
  326. data/lib/omnizip/formats/xz_const.rb +0 -2
  327. data/lib/omnizip/formats/xz_impl/block_decoder.rb +0 -2
  328. data/lib/omnizip/formats/xz_impl/block_encoder.rb +0 -2
  329. data/lib/omnizip/formats/xz_impl/block_header.rb +0 -2
  330. data/lib/omnizip/formats/xz_impl/block_header_parser.rb +0 -2
  331. data/lib/omnizip/formats/xz_impl/index_decoder.rb +0 -2
  332. data/lib/omnizip/formats/xz_impl/index_encoder.rb +0 -2
  333. data/lib/omnizip/formats/xz_impl/stream_decoder.rb +0 -2
  334. data/lib/omnizip/formats/xz_impl/stream_encoder.rb +0 -2
  335. data/lib/omnizip/formats/xz_impl/stream_footer.rb +0 -2
  336. data/lib/omnizip/formats/xz_impl/stream_footer_parser.rb +0 -2
  337. data/lib/omnizip/formats/xz_impl/stream_header.rb +0 -2
  338. data/lib/omnizip/formats/xz_impl/stream_header_parser.rb +0 -2
  339. data/lib/omnizip/formats/xz_impl/vli.rb +0 -2
  340. data/lib/omnizip/formats/xz_impl.rb +0 -2
  341. data/lib/omnizip/formats/zip/central_directory_header.rb +0 -2
  342. data/lib/omnizip/formats/zip/constants.rb +0 -2
  343. data/lib/omnizip/formats/zip/end_of_central_directory.rb +0 -2
  344. data/lib/omnizip/formats/zip/local_file_header.rb +0 -2
  345. data/lib/omnizip/formats/zip/reader.rb +0 -2
  346. data/lib/omnizip/formats/zip/unix_extra_field.rb +0 -2
  347. data/lib/omnizip/formats/zip/writer.rb +0 -2
  348. data/lib/omnizip/formats/zip/zip64_end_of_central_directory.rb +0 -2
  349. data/lib/omnizip/formats/zip/zip64_end_of_central_directory_locator.rb +0 -2
  350. data/lib/omnizip/formats/zip/zip64_extra_field.rb +0 -2
  351. data/lib/omnizip/formats/zip.rb +0 -8
  352. data/lib/omnizip/formats.rb +0 -2
  353. data/lib/omnizip/implementations/base/lzma2_decoder_base.rb +0 -2
  354. data/lib/omnizip/implementations/base/lzma2_encoder_base.rb +0 -2
  355. data/lib/omnizip/implementations/base/lzma_decoder_base.rb +0 -2
  356. data/lib/omnizip/implementations/base/lzma_encoder_base.rb +0 -2
  357. data/lib/omnizip/implementations/base/state_machine_base.rb +0 -2
  358. data/lib/omnizip/implementations/base.rb +0 -2
  359. data/lib/omnizip/implementations/seven_zip/lzma/decoder.rb +0 -2
  360. data/lib/omnizip/implementations/seven_zip/lzma/encoder.rb +0 -2
  361. data/lib/omnizip/implementations/seven_zip/lzma/match_finder.rb +0 -2
  362. data/lib/omnizip/implementations/seven_zip/lzma/range_decoder.rb +0 -2
  363. data/lib/omnizip/implementations/seven_zip/lzma/range_encoder.rb +0 -2
  364. data/lib/omnizip/implementations/seven_zip/lzma/state_machine.rb +0 -2
  365. data/lib/omnizip/implementations/seven_zip/lzma.rb +0 -2
  366. data/lib/omnizip/implementations/seven_zip/lzma2/encoder.rb +0 -2
  367. data/lib/omnizip/implementations/seven_zip/lzma2.rb +0 -2
  368. data/lib/omnizip/implementations/seven_zip.rb +0 -2
  369. data/lib/omnizip/implementations/xz_utils/lzma2/decoder.rb +0 -2
  370. data/lib/omnizip/implementations/xz_utils/lzma2/encoder.rb +0 -2
  371. data/lib/omnizip/implementations/xz_utils/lzma2.rb +0 -2
  372. data/lib/omnizip/implementations/xz_utils.rb +0 -2
  373. data/lib/omnizip/implementations.rb +18 -6
  374. data/lib/omnizip/io/buffered_input.rb +0 -2
  375. data/lib/omnizip/io/buffered_output.rb +0 -2
  376. data/lib/omnizip/io/source.rb +0 -2
  377. data/lib/omnizip/io/stream_manager.rb +0 -2
  378. data/lib/omnizip/io.rb +0 -2
  379. data/lib/omnizip/link_handler/hard_link.rb +0 -2
  380. data/lib/omnizip/link_handler/symbolic_link.rb +0 -2
  381. data/lib/omnizip/link_handler.rb +0 -2
  382. data/lib/omnizip/metadata/archive_metadata.rb +0 -2
  383. data/lib/omnizip/metadata/entry_metadata.rb +7 -2
  384. data/lib/omnizip/metadata/metadata_editor.rb +0 -2
  385. data/lib/omnizip/metadata/metadata_registry.rb +0 -2
  386. data/lib/omnizip/metadata/metadata_validator.rb +0 -2
  387. data/lib/omnizip/metadata.rb +0 -2
  388. data/lib/omnizip/models/algorithm_metadata.rb +0 -2
  389. data/lib/omnizip/models/compression_options.rb +0 -2
  390. data/lib/omnizip/models/conversion_options.rb +0 -2
  391. data/lib/omnizip/models/conversion_result.rb +0 -2
  392. data/lib/omnizip/models/eta_result.rb +0 -2
  393. data/lib/omnizip/models/extraction_rule.rb +0 -2
  394. data/lib/omnizip/models/filter_chain.rb +0 -2
  395. data/lib/omnizip/models/filter_config.rb +0 -2
  396. data/lib/omnizip/models/match_result.rb +0 -2
  397. data/lib/omnizip/models/optimization_suggestion.rb +0 -2
  398. data/lib/omnizip/models/parallel_options.rb +0 -2
  399. data/lib/omnizip/models/performance_result.rb +0 -2
  400. data/lib/omnizip/models/profile_report.rb +0 -2
  401. data/lib/omnizip/models/progress_options.rb +0 -2
  402. data/lib/omnizip/models/split_options.rb +0 -2
  403. data/lib/omnizip/optimization_registry.rb +0 -2
  404. data/lib/omnizip/parallel/engine.rb +48 -0
  405. data/lib/omnizip/parallel/job_queue.rb +0 -2
  406. data/lib/omnizip/parallel/job_scheduler.rb +0 -2
  407. data/lib/omnizip/parallel/parallel_compressor.rb +5 -18
  408. data/lib/omnizip/parallel/parallel_extractor.rb +5 -18
  409. data/lib/omnizip/parallel/worker_pool.rb +0 -2
  410. data/lib/omnizip/parallel.rb +1 -2
  411. data/lib/omnizip/parity/chunked_block_processor.rb +0 -2
  412. data/lib/omnizip/parity/galois16.rb +0 -2
  413. data/lib/omnizip/parity/models/creator_packet.rb +0 -2
  414. data/lib/omnizip/parity/models/file_description_packet.rb +0 -2
  415. data/lib/omnizip/parity/models/ifsc_packet.rb +0 -2
  416. data/lib/omnizip/parity/models/main_packet.rb +0 -2
  417. data/lib/omnizip/parity/models/packet.rb +0 -2
  418. data/lib/omnizip/parity/models/packet_registry.rb +0 -2
  419. data/lib/omnizip/parity/models/recovery_slice_packet.rb +0 -2
  420. data/lib/omnizip/parity/models.rb +0 -2
  421. data/lib/omnizip/parity/par2_creator.rb +0 -2
  422. data/lib/omnizip/parity/par2_repairer.rb +0 -2
  423. data/lib/omnizip/parity/par2_verifier.rb +0 -2
  424. data/lib/omnizip/parity/par2cmdline_algorithm.rb +0 -2
  425. data/lib/omnizip/parity/par2cmdline_coefficients.rb +0 -2
  426. data/lib/omnizip/parity/reed_solomon_decoder.rb +0 -2
  427. data/lib/omnizip/parity/reed_solomon_encoder.rb +0 -2
  428. data/lib/omnizip/parity/reed_solomon_matrix.rb +0 -2
  429. data/lib/omnizip/parity.rb +0 -2
  430. data/lib/omnizip/password/encryption_registry.rb +0 -2
  431. data/lib/omnizip/password/encryption_strategy.rb +0 -2
  432. data/lib/omnizip/password/password_validator.rb +0 -2
  433. data/lib/omnizip/password/winzip_aes_strategy.rb +0 -2
  434. data/lib/omnizip/password/zip_crypto_strategy.rb +0 -2
  435. data/lib/omnizip/password.rb +0 -2
  436. data/lib/omnizip/pipe/stream_compressor.rb +0 -2
  437. data/lib/omnizip/pipe/stream_decompressor.rb +0 -2
  438. data/lib/omnizip/pipe.rb +0 -2
  439. data/lib/omnizip/platform/ntfs_streams.rb +0 -2
  440. data/lib/omnizip/platform.rb +0 -2
  441. data/lib/omnizip/profile/archive_profile.rb +0 -2
  442. data/lib/omnizip/profile/balanced_profile.rb +0 -2
  443. data/lib/omnizip/profile/binary_profile.rb +0 -2
  444. data/lib/omnizip/profile/compression_profile.rb +0 -2
  445. data/lib/omnizip/profile/custom_profile.rb +0 -2
  446. data/lib/omnizip/profile/fast_profile.rb +0 -2
  447. data/lib/omnizip/profile/maximum_profile.rb +0 -2
  448. data/lib/omnizip/profile/profile_detector.rb +0 -2
  449. data/lib/omnizip/profile/profile_registry.rb +0 -2
  450. data/lib/omnizip/profile/text_profile.rb +0 -2
  451. data/lib/omnizip/profile.rb +0 -2
  452. data/lib/omnizip/profiler/memory_profiler.rb +0 -2
  453. data/lib/omnizip/profiler/method_profiler.rb +0 -2
  454. data/lib/omnizip/profiler/report_generator.rb +0 -2
  455. data/lib/omnizip/profiler.rb +0 -2
  456. data/lib/omnizip/progress/callback_reporter.rb +0 -2
  457. data/lib/omnizip/progress/console_reporter.rb +0 -2
  458. data/lib/omnizip/progress/log_reporter.rb +0 -2
  459. data/lib/omnizip/progress/operation_progress.rb +0 -2
  460. data/lib/omnizip/progress/progress_bar.rb +0 -2
  461. data/lib/omnizip/progress/progress_reporter.rb +0 -2
  462. data/lib/omnizip/progress/progress_tracker.rb +0 -2
  463. data/lib/omnizip/progress/silent_reporter.rb +0 -2
  464. data/lib/omnizip/progress.rb +0 -2
  465. data/lib/omnizip/registry.rb +0 -3
  466. data/lib/omnizip/rubyzip_compat.rb +0 -4
  467. data/lib/omnizip/temp/safe_extract.rb +0 -2
  468. data/lib/omnizip/temp/temp_file.rb +0 -2
  469. data/lib/omnizip/temp/temp_file_pool.rb +0 -2
  470. data/lib/omnizip/temp.rb +0 -2
  471. data/lib/omnizip/version.rb +1 -1
  472. data/lib/omnizip/zip/entry.rb +7 -2
  473. data/lib/omnizip/zip/file.rb +0 -2
  474. data/lib/omnizip/zip/input_stream.rb +0 -2
  475. data/lib/omnizip/zip/output_stream.rb +0 -2
  476. data/lib/omnizip/zip.rb +0 -2
  477. data/lib/omnizip.rb +2 -2
  478. metadata +4 -6
  479. data/lib/omnizip/filters/filter_base.rb +0 -8
  480. data/lib/omnizip/filters/registration.rb +0 -24
  481. data/lib/omnizip/filters/registry.rb +0 -113
  482. data/lib/omnizip/format_registry.rb +0 -102
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5322fdbadae273f2bc54cba2f1029e7a8aedd6e87a40c4874754666f09c7dd34
4
- data.tar.gz: ea29fba3d864c1f7a6ffb555fa88d216a3e99c8405b4704c0bee3734cd665cf8
3
+ metadata.gz: 3d76166f4e6d65cb67526c079369395377bc4d30af75d52b9d83374f99721071
4
+ data.tar.gz: c47f5c274906ca6d92293606add01a44bfdb4e3f2f499647608bd2ac0629b98f
5
5
  SHA512:
6
- metadata.gz: 6360527cfb651a2ed00359d0f597717d6d768cbfda2d36cced39694ff651501729d8200651b7d4c247c87c00943323e09c15adaa08a03fa9fcc11089fd5c1117
7
- data.tar.gz: 5be5dcc58820010b5a6e010836d74c03f7aa712169f5f1e841af5bbe7a4e6ed0cbd8aa5471b7268b6bbb1d838860a65903a83151f5453c7f8987c51f240645f4
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
@@ -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 [Filters::FilterBase, FilterPipeline] Filter or
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
  #
6
4
  # Copyright (C) 2024 Ribose Inc.
7
5
  #
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
- if output_stream.respond_to?(:set_encoding)
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
  require "zlib"
6
4
 
7
5
  module Omnizip
@@ -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
@@ -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
@@ -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
- if output_stream.respond_to?(:set_encoding)
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
  module Omnizip
6
4
  module Algorithms
7
5
  class Deflate64
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
-
4
- require "omnizip"
5
3
  require "json"
6
4
 
7
5
  module Omnizip
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
-
4
- require "omnizip"
5
3
  require "json"
6
4
 
7
5
  module Omnizip
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
-
4
- require "omnizip"
5
3
  module Omnizip
6
4
  module Algorithms
7
5
  class Deflate64
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
-
4
- require "omnizip"
5
3
  module Omnizip
6
4
  module Algorithms
7
5
  class Deflate64
@@ -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) if output.respond_to?(:set_encoding)
79
- output.binmode if output.respond_to?(: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
@@ -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
@@ -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
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
-
4
- require "omnizip"
5
3
  module Omnizip
6
4
  module Algorithms
7
5
  class LZMA < 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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
-
4
- require "omnizip"
5
3
  module Omnizip
6
4
  module Algorithms
7
5
  class LZMA < Algorithm
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
-
4
- require "omnizip"
5
3
  module Omnizip
6
4
  module Algorithms
7
5
  class LZMA < 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
@@ -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
@@ -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
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
-
4
- require "omnizip"
5
3
  module Omnizip
6
4
  module Algorithms
7
5
  class LZMA < Algorithm
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
-
4
- require "omnizip"
5
3
  module Omnizip
6
4
  module Algorithms
7
5
  class LZMA < 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
@@ -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
@@ -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
@@ -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
@@ -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
  module Omnizip
@@ -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
@@ -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
@@ -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
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
-
4
- require "omnizip"
5
3
  module Omnizip
6
4
  module Algorithms
7
5
  class LZMA < Algorithm
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
-
4
- require "omnizip"
5
3
  module Omnizip
6
4
  module Algorithms
7
5
  class LZMA < 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
@@ -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
  # Direct port of XZ Utils range encoder to Ruby
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
-
4
- require "omnizip"
5
3
  module Omnizip
6
4
  module Algorithms
7
5
  class LZMA < Algorithm
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
-
4
- require "omnizip"
5
3
  require "stringio"
6
4
 
7
5
  # Copyright (C) 2025 Ribose Inc.
@@ -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) if output_stream.respond_to?(:set_encoding)
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)
@@ -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
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
-
4
- require "omnizip"
5
3
  module Omnizip
6
4
  module Algorithms
7
5
  # LZMA2 Format Constants (from XZ Utils specification)
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
-
4
- require "omnizip"
5
3
  module Omnizip
6
4
  module Algorithms
7
5
  # LZMA2 encoder - delegates to XzLZMA2Encoder
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
-
4
- require "omnizip"
5
3
  module Omnizip
6
4
  module Algorithms
7
5
  class LZMA2 < 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
@@ -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