summaryrefslogtreecommitdiff
path: root/src/zip.cr
diff options
context:
space:
mode:
Diffstat (limited to 'src/zip.cr')
-rw-r--r--src/zip.cr16
1 files changed, 15 insertions, 1 deletions
diff --git a/src/zip.cr b/src/zip.cr
index a2316aa..be5fa56 100644
--- a/src/zip.cr
+++ b/src/zip.cr
@@ -11,7 +11,7 @@ require "zlib"
# [x] convert datetime to Time
# [x] add size to Entry
# [x] Version
-# [ ] directories
+# [x] directories
# [ ] full tests
# [ ] zip64
# [ ] legacy unicode (e.g., non-bit 11) path/comment support
@@ -1520,6 +1520,20 @@ module Zip
end
#
+ # Returns true if this entry a directory.
+ #
+ # Example:
+ #
+ # Zip.read("foo.zip") do |zip|
+ # type = zip["some-dir/"].dir? ? "directory" : "file"
+ # puts "#{path} is a #{type}"
+ # end
+ #
+ def dir? : Bool
+ (@external_attr & 0x01) != 0
+ end
+
+ #
# Return the uncompressed size of this entry in bytes.
#
# Example: