class Xlsxrb::Ooxml::ZipGenerator
Generates a simple ZIP file using only the standard library.
Public Class Methods
Source
# File lib/xlsxrb/ooxml/zip_generator.rb, line 9 def initialize(filepath) @filepath = filepath @entries = [] @file = nil end
Public Instance Methods
# File lib/xlsxrb/ooxml/zip_generator.rb, line 16 def add_entry(filepath, content) compressed_data = compress(content) @entries << { path: filepath, content: content, compressed_data: compressed_data, crc32: crc32(content), uncompressed_size: content.bytesize, compressed_size: compressed_data.bytesize, mtime: Time.now } end
Adds an entry to the ZIP archive.
Source
# File lib/xlsxrb/ooxml/zip_generator.rb, line 30 def generate File.open(@filepath, "wb") do |f| @file = f write_entries write_central_directory end end
Generates the ZIP file.