diff options
-rw-r--r-- | spec/zip_spec.cr | 2 | ||||
-rw-r--r-- | src/zip.cr | 47 |
2 files changed, 48 insertions, 1 deletions
diff --git a/spec/zip_spec.cr b/spec/zip_spec.cr index 0ca4e86..7f539cc 100644 --- a/spec/zip_spec.cr +++ b/spec/zip_spec.cr @@ -90,6 +90,8 @@ describe Zip do it "reads all an archive's compressed entries" do Zip.read(File.join(TEST_DIR, "test-many.zip")) do |zip| + puts "file has #{zip.size} entries" + zip.each do |e| if e.dir? @@ -1768,7 +1768,29 @@ module Zip include Enumerable(Entry) include Iterable - getter :entries, :comment + # + # Return an array of entries in this Archive. + # + # Example: + # + # Zip.read("foo.zip") do |zip| + # # get an array of entries in this archive + # entries = zip.entries + # end + # + getter :entries + + # + # Get the `Archive` comment as a String. + # + # Example: + # + # Zip.read("foo.zip") do |zip| + # # print archive comment + # puts "comment: #{zip.comment}" + # end + # + getter :comment # # Create new Zip::Archive from input Zip::Source. @@ -1920,7 +1942,30 @@ module Zip @entries[id]? end + # + # Iterate over the entries in this `Archive`, or, if called without + # a block, return a lazy iterator. + # + # Example: + # + # Zip.read("foo.zip") do |zip| + # zip.each do |e| + # type = e.dir? ? "directory" : "file" + # puts "#{e.path} is a #{type}" + # end + # end + # delegate each, to: @entries + + # + # Return the number of entries in this `Archive`. + # + # Example: + # + # Zip.read("foo.zip") do |zip| + # puts "foo.zip has #{zip.size} entries" + # end + # delegate size, to: @entries ################### |