Sha256: 4504332b1254b5687e1bfe7d7643d99735af613b2de240b01b9fa2bc815d653c
Contents?: true
Size: 1.33 KB
Versions: 1
Compression:
Stored size: 1.33 KB
Contents
module Zip class ZipEntrySet #:nodoc:all include Enumerable def initialize(anEnumerable = []) super() @entrySet = {} anEnumerable.each { |o| push(o) } end def include?(entry) @entrySet.include?(entry.to_s) end def <<(entry) @entrySet[entry.to_s] = entry end alias :push :<< def size @entrySet.size end alias :length :size def delete(entry) @entrySet.delete(entry.to_s) ? entry : nil end def each(&aProc) @entrySet.values.each(&aProc) end def entries @entrySet.values end # deep clone def dup newZipEntrySet = ZipEntrySet.new(@entrySet.values.map { |e| e.dup }) end def == (other) return false unless other.kind_of?(ZipEntrySet) return @entrySet == other.entrySet end def parent(entry) @entrySet[entry.parent_as_string] end def glob(pattern, flags = ::File::FNM_PATHNAME|::File::FNM_DOTMATCH) entries.select { |entry| ::File.fnmatch(pattern, entry.name.chomp('/'), flags) } end #TODO attr_accessor :auto_create_directories protected attr_accessor :entrySet end end # Copyright (C) 2002, 2003 Thomas Sondergaard # rubyzip is free software; you can redistribute it and/or # modify it under the terms of the ruby license.
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
mezza-rubyzip-0.9.4.1 | lib/zip/zip_entry_set.rb |