Class: Omnizip::Buffer::SevenZipBridge::ReadProxy
- Inherits:
-
Object
- Object
- Omnizip::Buffer::SevenZipBridge::ReadProxy
- Defined in:
- lib/omnizip/buffer/seven_zip_bridge.rb
Overview
Mirrors the MemoryArchive read interface onto a 7z reader
Defined Under Namespace
Classes: Entry
Instance Method Summary collapse
-
#each_entry ⇒ Object
Yield an Entry wrapper per archive entry.
-
#entry_names ⇒ Array<String>
Entry names; directories keep a trailing slash like the ZIP listing convention.
-
#extract_all_to_memory ⇒ Hash<String, String>
Filename => content for every file entry.
-
#initialize(reader, tmp) ⇒ ReadProxy
constructor
A new instance of ReadProxy.
-
#raw_entries ⇒ Array<Formats::SevenZip::Models::FileEntry>
Read-only access to the underlying entries.
Constructor Details
#initialize(reader, tmp) ⇒ ReadProxy
Returns a new instance of ReadProxy.
75 76 77 78 |
# File 'lib/omnizip/buffer/seven_zip_bridge.rb', line 75 def initialize(reader, tmp) @reader = reader @tmp = tmp end |
Instance Method Details
#each_entry ⇒ Object
Yield an Entry wrapper per archive entry
81 82 83 84 85 |
# File 'lib/omnizip/buffer/seven_zip_bridge.rb', line 81 def each_entry @reader.list_files.each do |entry| yield Entry.new(entry, @reader, @tmp) end end |
#entry_names ⇒ Array<String>
Entry names; directories keep a trailing slash like the ZIP listing convention
102 103 104 105 106 |
# File 'lib/omnizip/buffer/seven_zip_bridge.rb', line 102 def entry_names @reader.list_files.map do |entry| entry.is_dir ? "#{entry.name}/" : entry.name end end |
#extract_all_to_memory ⇒ Hash<String, String>
Filename => content for every file entry
90 91 92 93 94 95 96 |
# File 'lib/omnizip/buffer/seven_zip_bridge.rb', line 90 def extract_all_to_memory result = {} each_entry do |entry| result[entry.name] = entry.read unless entry.directory? end result end |
#raw_entries ⇒ Array<Formats::SevenZip::Models::FileEntry>
Read-only access to the underlying entries
111 112 113 |
# File 'lib/omnizip/buffer/seven_zip_bridge.rb', line 111 def raw_entries @reader.list_files end |