Module: Omnizip::Formats::Rar
- Defined in:
- lib/omnizip/formats/rar.rb,
lib/omnizip/formats/rar/header.rb,
lib/omnizip/formats/rar/models.rb,
lib/omnizip/formats/rar/reader.rb,
lib/omnizip/formats/rar/writer.rb,
lib/omnizip/formats/rar/constants.rb,
lib/omnizip/formats/rar/rar5/vint.rb,
lib/omnizip/formats/rar/rar5/crc32.rb,
lib/omnizip/formats/rar/compression.rb,
lib/omnizip/formats/rar/rar5/header.rb,
lib/omnizip/formats/rar/rar5/writer.rb,
lib/omnizip/formats/rar/block_parser.rb,
lib/omnizip/formats/rar/decompressor.rb,
lib/omnizip/formats/rar/parity_handler.rb,
lib/omnizip/formats/rar/volume_manager.rb,
lib/omnizip/formats/rar/external_writer.rb,
lib/omnizip/formats/rar/rar_format_base.rb,
lib/omnizip/formats/rar/recovery_record.rb,
lib/omnizip/formats/rar/archive_repairer.rb,
lib/omnizip/formats/rar/archive_verifier.rb,
lib/omnizip/formats/rar/compression/ppmd.rb,
lib/omnizip/formats/rar/models/rar_entry.rb,
lib/omnizip/formats/rar/license_validator.rb,
lib/omnizip/formats/rar/models/rar_volume.rb,
lib/omnizip/formats/rar/models/rar_archive.rb,
lib/omnizip/formats/rar/rar5/compression/lzma.rb,
lib/omnizip/formats/rar/rar5/compression/lzss.rb,
lib/omnizip/formats/rar/compression/bit_stream.rb,
lib/omnizip/formats/rar/compression/dispatcher.rb,
lib/omnizip/formats/rar/rar5/compression/store.rb,
lib/omnizip/formats/rar/rar5/solid/solid_stream.rb,
lib/omnizip/formats/rar/compression/lz77_huffman.rb,
lib/omnizip/formats/rar/compression/ppmd/context.rb,
lib/omnizip/formats/rar/compression/ppmd/decoder.rb,
lib/omnizip/formats/rar/compression/ppmd/encoder.rb,
lib/omnizip/formats/rar/rar5/solid/solid_encoder.rb,
lib/omnizip/formats/rar/rar5/solid/solid_manager.rb,
lib/omnizip/formats/rar/rar5/models/solid_options.rb,
lib/omnizip/formats/rar/rar5/encryption/aes256_cbc.rb,
lib/omnizip/formats/rar/rar5/models/volume_options.rb,
lib/omnizip/formats/rar/compression_method_registry.rb,
lib/omnizip/formats/rar/rar5/models/recovery_options.rb,
lib/omnizip/formats/rar/rar5/encryption/key_derivation.rb,
lib/omnizip/formats/rar/rar5/models/encryption_options.rb,
lib/omnizip/formats/rar/rar5/multi_volume/volume_writer.rb,
lib/omnizip/formats/rar/compression/lz77_huffman/decoder.rb,
lib/omnizip/formats/rar/compression/lz77_huffman/encoder.rb,
lib/omnizip/formats/rar/rar5/multi_volume/volume_manager.rb,
lib/omnizip/formats/rar/rar5/encryption/encryption_header.rb,
lib/omnizip/formats/rar/rar5/multi_volume/volume_splitter.rb,
lib/omnizip/formats/rar/rar5/encryption/encryption_manager.rb,
lib/omnizip/formats/rar/compression/lz77_huffman/match_finder.rb,
lib/omnizip/formats/rar/compression/lz77_huffman/huffman_coder.rb,
lib/omnizip/formats/rar/compression/lz77_huffman/sliding_window.rb,
lib/omnizip/formats/rar/compression/lz77_huffman/huffman_builder.rb
Overview
RAR archive format support Provides read-only access to RAR archives (single and multi-volume)
This module implements RAR archive format support:
- Format signature validation (RAR4 and RAR5)
- Archive structure parsing
- File listing
- File extraction (requires unrar gem or system command)
- Multi-volume archive support
Note: RAR compression is proprietary, so this implementation is read-only and requires external decompression tools.
Defined Under Namespace
Modules: Compression, Constants, Models, Rar3, Rar5 Classes: ArchiveRepairer, ArchiveVerifier, BlockParser, CompressionMethodRegistry, Decompressor, ExternalWriter, Header, LicenseValidator, ParityHandler, RarFormatBase, Reader, RecoveryRecord, VolumeManager, Writer
Class Method Summary collapse
-
.available? ⇒ Boolean
Check if RAR extraction is available.
-
.decompressor_info ⇒ Hash
Get decompressor information.
-
.register! ⇒ Object
Auto-register .rar format.
-
.repair(archive_path, output_path) ⇒ ArchiveRepairer::RepairResult
Repair corrupted archive.
-
.verify(archive_path) ⇒ ArchiveVerifier::VerificationResult
Verify archive integrity.
Class Method Details
.available? ⇒ Boolean
Check if RAR extraction is available
137 138 139 |
# File 'lib/omnizip/formats/rar.rb', line 137 def available? Decompressor.available? end |
.decompressor_info ⇒ Hash
Get decompressor information
144 145 146 |
# File 'lib/omnizip/formats/rar.rb', line 144 def decompressor_info Decompressor.info end |
.register! ⇒ Object
Auto-register .rar format
166 167 168 |
# File 'lib/omnizip/formats/rar.rb', line 166 def register! FormatRegistry.register(".rar", "Omnizip::Formats::Rar::Reader") end |
.repair(archive_path, output_path) ⇒ ArchiveRepairer::RepairResult
Repair corrupted archive
161 162 163 |
# File 'lib/omnizip/formats/rar.rb', line 161 def repair(archive_path, output_path) ArchiveRepairer.new.repair(archive_path, output_path) end |
.verify(archive_path) ⇒ ArchiveVerifier::VerificationResult
Verify archive integrity
152 153 154 |
# File 'lib/omnizip/formats/rar.rb', line 152 def verify(archive_path) ArchiveVerifier.new(archive_path).verify end |