Class: Omnizip::Buffer::SevenZipBridge::WriteProxy

Inherits:
Object
  • Object
show all
Defined in:
lib/omnizip/buffer/seven_zip_bridge.rb

Overview

Mirrors the MemoryArchive write interface onto a 7z writer

Instance Method Summary collapse

Constructor Details

#initialize(writer) ⇒ WriteProxy

Returns a new instance of WriteProxy.

Parameters:



51
52
53
# File 'lib/omnizip/buffer/seven_zip_bridge.rb', line 51

def initialize(writer)
  @writer = writer
end

Instance Method Details

#add(name, data, **_options) ⇒ self

Add an entry; a trailing slash with empty content adds a directory entry

Parameters:

  • name (String)

    Entry name

  • data (String)

    Entry content

Returns:

  • (self)


61
62
63
64
65
66
67
68
# File 'lib/omnizip/buffer/seven_zip_bridge.rb', line 61

def add(name, data, **_options)
  if name.end_with?("/") && data.to_s.empty?
    @writer.add_directory_entry(name)
  else
    @writer.add_data(name, data)
  end
  self
end