From 25199ab4c29057d7c0a73812fc8f2ac3605c1d86 Mon Sep 17 00:00:00 2001 From: Paul Duncan Date: Wed, 10 Aug 2016 21:04:41 -0400 Subject: add documentation --- Zip.html | 386 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 386 insertions(+) create mode 100644 Zip.html (limited to 'Zip.html') diff --git a/Zip.html b/Zip.html new file mode 100644 index 0000000..fb7cad4 --- /dev/null +++ b/Zip.html @@ -0,0 +1,386 @@ + + + + + + + + Zip - github.com/pablotron/zip-crystal + + + +
+ + + + + + +
+ +
+

+ + module Zip + +

+ + + + + +

Overview

+ +

Library for reading and writing zip files.

+ +

Examples:

+ +

Reading from a zip file:

+ +

# create output MemoryIO +mem_io = MemoryIO.new

+ +

# read from "foo.zip" +Zip.read("foo.zip") do |zip| +# read contents of "bar.txt" in "foo.zip" into mem_io +zip["bar.txt"].read(mem_io) +end

+ +

Writing to a zip file:

+ +

# write to "foo.zip" +Zip.write("foo.zip") do |zip| +# create "bar.txt" with contents "hello!" +zip.add("bar.txt", "hello!") +end

+ + + + + + + + + + + + + + +

Defined in:

+ + + + + +

Constant Summary

+ +
+ +
+ BUFFER_SIZE = 8192 +
+ +
+

Size of internal buffers, in bytes.

+
+ + +
+ MAGIC = {cdr_header: 33639248_u32, cdr_footer: 101010256_u32, file_header: 67324752_u32, file_footer: 134695760_u32} +
+ +
+

Magic numbers for various data in Zip stream.

+
+ + +
+ VERSION = "0.1.0" +
+ +
+

Version of zip-crystal library.

+
+ + +
+ + + +

Class Method Summary

+ + + + + + + + +
+ +
+ + +

Class Method Detail

+ +
+
+ + def self.read(slice : Bytes, &cb : Archive -> ) : Void + + # +
+ +

Read Zip::Archive from Slice and pass it to the given block.

+ +

Example:

+ +

# create memory io for contents of "bar.txt" +io = MemoryIO.new

+ +

# extract "bar.txt" from zip archive in Slice some_slice and +# save it to MemoryIO +Zip.read(some_slice) do |zip| +zip["bar.txt"].read(io) +end

+ +
+
+ +
+
+ +
+
+ + def self.read(path : String, &cb : Archive -> ) : Void + + # +
+ +

Read Zip::Archive from File and pass it to the given block.

+ +

Example:

+ +

# create memory io for contents of "bar.txt" +io = MemoryIO.new

+ +

# extract "bar.txt" from "./foo.zip" and save it to MemoryIO +Zip.read("./foo.zip") do |zip| +zip["bar.txt"].read(io) +end

+ +
+
+ +
+
+ +
+
+ + def self.read(io : IO, &cb : Archive -> ) : Void + + # +
+ +

Read Zip::Archive from seekable IO instance and pass it to the given +block.

+ +

Example:

+ +

# create memory io for contents of "bar.txt" +io = MemoryIO.new

+ +

# read "bar.txt" from "./foo.zip" +Zip.read(File.open("./foo.zip", "rb")) do |zip| +zip["bar.txt"].read(io) +end

+ +
+
+ +
+
+ +
+
+ + def self.write(io : IO, pos : UInt32 = 0_u32, comment : String = "", version : Version = Version::DEFAULT, &cb : Writer -> ) : UInt32 + + # +
+ +

Create a Zip::Writer for the output IO io and yield it to +the given block. Returns number of bytes written.

+ +

Example:

+ +

# create output IO +File.open("foo.zip", "wb") do |io| +Zip.write(io) do |zip| +# add "bar.txt" with contents "hello!" +zip.add("bar.txt", "hello!") +end +end

+ +
+
+ +
+
+ +
+
+ + def self.write(path : String, pos : UInt32 = 0_u32, comment : String = "", version : Version = Version::DEFAULT, &cb : Writer -> ) : UInt32 + + # +
+ +

Create a Zip::Writer for the output file path and yield it to +the given block. Returns number of bytes written.

+ +

Example:

+ +

# create "foo.zip" +Zip.write("foo.zip") do |zip| +# add "bar.txt" with contents "hello!" +zip.add("bar.txt", "hello!") +end

+ +
+
+ +
+
+ + + + + + + +
+ + + -- cgit v1.2.3