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
@@ -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
  #
@@ -29,7 +27,7 @@ module Omnizip
29
27
  #
30
28
  # The filter is reversible and works on 5-byte boundaries (1-byte
31
29
  # opcode + 4-byte address).
32
- class BcjX86 < FilterBase
30
+ class BcjX86 < Omnizip::Filter
33
31
  # x86 CALL opcode
34
32
  OPCODE_CALL = 0xE8
35
33
 
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
-
4
- require "omnizip"
5
3
  #
6
4
  # Copyright (C) 2024-2025 Ribose Inc.
7
5
  #
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
-
4
- require "omnizip"
5
3
  #
6
4
  # Copyright (C) 2025 Ribose Inc.
7
5
  #
@@ -1,11 +1,8 @@
1
1
  # frozen_string_literal: true
2
2
 
3
-
4
- require "omnizip"
5
3
  module Omnizip
6
4
  # Filter implementations for preprocessing data before compression
7
5
  module Filters
8
- autoload :FilterBase, "omnizip/filters/filter_base"
9
6
  autoload :BCJ, "omnizip/filters/bcj"
10
7
  autoload :BcjX86, "omnizip/filters/bcj_x86"
11
8
  autoload :Bcj2, "omnizip/filters/bcj2"
@@ -19,6 +16,5 @@ module Omnizip
19
16
  autoload :BcjSparc, "omnizip/filters/bcj_sparc"
20
17
  autoload :BcjIa64, "omnizip/filters/bcj_ia64"
21
18
  autoload :Delta, "omnizip/filters/delta"
22
- autoload :Registry, "omnizip/filters/registry"
23
19
  end
24
20
  end
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
-
4
- require "omnizip"
5
3
  module Omnizip
6
4
  # Detects archive format from file signature/magic bytes
7
5
  #
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
-
4
- require "omnizip"
5
3
  require "stringio"
6
4
 
7
5
  module Omnizip
@@ -114,12 +112,6 @@ module Omnizip
114
112
  output_io.write(decompressed_io.read)
115
113
  end
116
114
 
117
- # Register BZIP2 format when loaded
118
- def register!
119
- FormatRegistry.register(".bz2", Omnizip::Formats::Bzip2File)
120
- FormatRegistry.register(".bzip2", Omnizip::Formats::Bzip2File)
121
- end
122
-
123
115
  private
124
116
 
125
117
  # Write BZIP2 header
@@ -165,4 +157,3 @@ module Omnizip
165
157
  end
166
158
  end
167
159
  end
168
-
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
-
4
- require "omnizip"
5
3
  module Omnizip
6
4
  module Formats
7
5
  module Cpio
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
-
4
- require "omnizip"
5
3
  module Omnizip
6
4
  module Formats
7
5
  module Cpio
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
-
4
- require "omnizip"
5
3
  module Omnizip
6
4
  module Formats
7
5
  module Cpio
@@ -10,6 +8,7 @@ module Omnizip
10
8
  # Represents a file, directory, or special file in a CPIO archive.
11
9
  # Supports newc, CRC, and ODC formats.
12
10
  class Entry
11
+ include Omnizip::Entry
13
12
  include Omnizip::Formats::Cpio::Constants
14
13
 
15
14
  # @return [String] Magic number identifying format
@@ -60,6 +59,11 @@ module Omnizip
60
59
  # @return [String] File data
61
60
  attr_accessor :data
62
61
 
62
+ def entry_name = name
63
+ def entry_directory? = directory?
64
+ def entry_size = filesize
65
+ def entry_mtime = mtime
66
+
63
67
  # Initialize CPIO entry
64
68
  #
65
69
  # @param attributes [Hash] Entry attributes
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
-
4
- require "omnizip"
5
3
  require "fileutils"
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 "fileutils"
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 Formats
7
5
  # CPIO archive format support
@@ -128,13 +126,7 @@ module Omnizip
128
126
  }
129
127
  end
130
128
  end
131
-
132
- # Auto-register CPIO format when loaded
133
- def register!
134
- FormatRegistry.register(".cpio", Reader)
135
- end
136
129
  end
137
130
  end
138
131
  end
139
132
  end
140
-
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
-
4
- require "omnizip"
5
3
  require "yaml"
6
4
  begin
7
5
  require "lutaml/model"
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
-
4
- require "omnizip"
5
3
  require "zlib"
6
4
  require "stringio"
7
5
 
@@ -129,12 +127,6 @@ module Omnizip
129
127
  metadata
130
128
  end
131
129
 
132
- # Register GZIP format when loaded
133
- def register!
134
- FormatRegistry.register(".gz", Omnizip::Formats::Gzip)
135
- FormatRegistry.register(".gzip", Omnizip::Formats::Gzip)
136
- end
137
-
138
130
  private
139
131
 
140
132
  # Write GZIP header
@@ -233,4 +225,3 @@ module Omnizip
233
225
  end
234
226
  end
235
227
  end
236
-
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
-
4
- require "omnizip"
5
3
  module Omnizip
6
4
  module Formats
7
5
  module Iso
@@ -1,16 +1,21 @@
1
1
  # frozen_string_literal: true
2
2
 
3
-
4
- require "omnizip"
5
3
  module Omnizip
6
4
  module Formats
7
5
  module Iso
8
6
  # ISO 9660 Directory Record
9
7
  # Represents a file or directory entry
10
8
  class DirectoryRecord
9
+ include Omnizip::Entry
10
+
11
11
  attr_accessor :full_path
12
12
  attr_reader :length, :extended_attr_length, :location, :data_length, :recording_date, :flags, :file_unit_size, :interleave_gap_size, :volume_sequence_number, :name, :system_use
13
13
 
14
+ def entry_name = full_path || name
15
+ def entry_directory? = directory?
16
+ def entry_size = data_length
17
+ def entry_mtime = recording_date
18
+
14
19
  # Set the full path for this record, used by Reader when walking
15
20
  # a directory tree. Allows callers to look up records by path
16
21
  # without re-joining parent names.
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
-
4
- require "omnizip"
5
3
  module Omnizip
6
4
  module Formats
7
5
  module Iso
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
-
4
- require "omnizip"
5
3
  module Omnizip
6
4
  module Formats
7
5
  module Iso
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
-
4
- require "omnizip"
5
3
  require "fileutils"
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 Formats
7
5
  module Iso
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
-
4
- require "omnizip"
5
3
  require "time"
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 Formats
7
5
  module Iso
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
-
4
- require "omnizip"
5
3
  require "fileutils"
6
4
  require "time"
7
5
 
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
-
4
- require "omnizip"
5
3
  module Omnizip
6
4
  module Formats
7
5
  # ISO 9660 CD-ROM filesystem format support
@@ -129,11 +127,6 @@ module Omnizip
129
127
 
130
128
  writer.write
131
129
  end
132
-
133
- # Auto-register ISO format when loaded
134
- def self.register!
135
- FormatRegistry.register(".iso", Reader)
136
- end
137
130
  end
138
131
  end
139
132
  end
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
-
4
- require "omnizip"
5
3
  require "stringio"
6
4
 
7
5
  module Omnizip
@@ -134,12 +132,6 @@ module Omnizip
134
132
  }
135
133
  end
136
134
 
137
- # Register LZIP format when loaded
138
- def register!
139
- FormatRegistry.register(".lz", Omnizip::Formats::Lzip)
140
- FormatRegistry.register(".lzip", Omnizip::Formats::Lzip)
141
- end
142
-
143
135
  # Detect if data is LZIP format
144
136
  #
145
137
  # @param data [String] Data to check
@@ -151,4 +143,3 @@ module Omnizip
151
143
  end
152
144
  end
153
145
  end
154
-
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
-
4
- require "omnizip"
5
3
  require "stringio"
6
4
 
7
5
  module Omnizip
@@ -140,13 +138,7 @@ module Omnizip
140
138
  uncompressed_size: decoder.uncompressed_size,
141
139
  }
142
140
  end
143
-
144
- # Register LZMA_Alone format when loaded
145
- def register!
146
- FormatRegistry.register(".lzma", Omnizip::Formats::LzmaAlone)
147
- end
148
141
  end
149
142
  end
150
143
  end
151
144
  end
152
-
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
-
4
- require "omnizip"
5
3
  require "tempfile"
6
4
  require "fileutils"
7
5
 
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
-
4
- require "omnizip"
5
3
  module Omnizip
6
4
  module Formats
7
5
  module Msi
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
-
4
- require "omnizip"
5
3
  require "set"
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 Formats
7
5
  module Msi
@@ -10,8 +8,14 @@ module Omnizip
10
8
  # Represents a single file within an MSI package.
11
9
  # File information is assembled from File, Component, and Directory tables.
12
10
  class Entry
11
+ include Omnizip::Entry
13
12
  include Omnizip::Formats::Msi::Constants
14
13
 
14
+ def entry_name = path
15
+ def entry_directory? = false
16
+ def entry_size = size
17
+ def entry_mtime = nil
18
+
15
19
  # @return [String] Full installation path
16
20
  attr_accessor :path
17
21
 
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
-
4
- require "omnizip"
5
3
  require "fileutils"
6
4
  require "tempfile"
7
5
  require "tmpdir"
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
-
4
- require "omnizip"
5
3
  require "fileutils"
6
4
  require "set"
7
5
  require "tempfile"
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
-
4
- require "omnizip"
5
3
  module Omnizip
6
4
  module Formats
7
5
  module Msi
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
-
4
- require "omnizip"
5
3
  module Omnizip
6
4
  module Formats
7
5
  # MSI (Microsoft Installer) format support
@@ -69,16 +67,7 @@ module Omnizip
69
67
  def info(path)
70
68
  open(path, &:info)
71
69
  end
72
-
73
- # Register MSI format with format registry
74
- #
75
- # This overrides OLE's .msi registration.
76
- def register!
77
- FormatRegistry.register(".msi", self)
78
- FormatRegistry.register(".msp", self)
79
- end
80
70
  end
81
71
  end
82
72
  end
83
73
  end
84
-
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
-
4
- require "omnizip"
5
3
  require "set"
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 Formats
7
5
  module Ole
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
-
4
- require "omnizip"
5
3
  module Omnizip
6
4
  module Formats
7
5
  module Ole
@@ -10,8 +8,14 @@ module Omnizip
10
8
  # Represents a file or directory entry in an OLE compound document.
11
9
  # Each dirent is 128 bytes and contains metadata about the entry.
12
10
  class Dirent
11
+ include Omnizip::Entry
13
12
  include Omnizip::Formats::Ole::Constants
14
13
 
14
+ def entry_name = name
15
+ def entry_directory? = dir?
16
+ def entry_size = nil
17
+ def entry_mtime = modify_time
18
+
15
19
  # Pack format for dirent structure
16
20
  PACK = "a64 v C C V3 a16 V a8 a8 V2 a4"
17
21
 
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
-
4
- require "omnizip"
5
3
  module Omnizip
6
4
  module Formats
7
5
  module Ole
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
-
4
- require "omnizip"
5
3
  module Omnizip
6
4
  module Formats
7
5
  module Ole
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
-
4
- require "omnizip"
5
3
  require "set"
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 "date"
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 Formats
7
5
  # OLE compound document format support
@@ -119,14 +117,6 @@ module Omnizip
119
117
  end
120
118
  end
121
119
 
122
- # Register OLE format in registry
123
- def register!
124
- FormatRegistry.register(".ole", Storage)
125
- FormatRegistry.register(".doc", Storage)
126
- FormatRegistry.register(".xls", Storage)
127
- FormatRegistry.register(".ppt", Storage)
128
- end
129
-
130
120
  private
131
121
 
132
122
  # Recursively extract dirent to directory
@@ -149,4 +139,3 @@ module Omnizip
149
139
  end
150
140
  end
151
141
  end
152
-
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
-
4
- require "omnizip"
5
3
  require "fileutils"
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 Formats
7
5
  module Rar
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
-
4
- require "omnizip"
5
3
  module Omnizip
6
4
  module Formats
7
5
  module Rar
@@ -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 Formats
7
5
  module Rar
@@ -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 Formats
7
5
  module Rar
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
-
4
- require "omnizip"
5
3
  module Omnizip
6
4
  module Formats
7
5
  module Rar
@@ -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