Class: ZipContainer::ManagedDirectory
- Inherits:
-
ManagedEntry
- Object
- ManagedEntry
- ZipContainer::ManagedDirectory
- Includes:
- ManagedEntries, ReservedNames
- Defined in:
- lib/zip-container/entries/directory.rb
Overview
A ManagedDirectory acts as the interface to a set of (possibly) managed files within it and also reserves the directory name in the Container namespace.
Once a ManagedDirectory is registered in a Container then only it can be used to write to its contents.
Instance Attribute Summary
Attributes inherited from ManagedEntry
Instance Method Summary collapse
-
#initialize(name, options = {}) ⇒ ManagedDirectory
constructor
:call-seq: new(name, options = {}) -> ManagedDirectory.
-
#verify ⇒ Object
:call-seq: verify -> Array.
Methods included from ManagedEntries
#hidden_directory?, #hidden_entry?, #hidden_file?, #managed_directories, #managed_directory?, #managed_directory_names, #managed_entries, #managed_entry?, #managed_entry_names, #managed_file?, #managed_file_names, #managed_files, #verify_managed_entries, #verify_managed_entries!
Methods included from Util
Methods included from ReservedNames
#reserved_entry?, #reserved_names
Methods inherited from ManagedEntry
#exists?, #full_name, #hidden?, #required?, #verify!, #verify?
Constructor Details
#initialize(name, options = {}) ⇒ ManagedDirectory
:call-seq:
new(name, options = {}) -> ManagedDirectory
Create a new ManagedDirectory with the supplied name. Options that can be passed in are:
-
:required
whether it is required to exist or not (default false). -
:hidden
whether it is hidden for normal operations. -
:entries
a list of ManagedFile and ManagedDirectory objects that are within this directory (default []).
57 58 59 60 61 62 63 64 65 66 67 |
# File 'lib/zip-container/entries/directory.rb', line 57 def initialize(name, = {}) = { required: false, hidden: false, entries: [] }.merge() super(name, [:required], [:hidden]) initialize_managed_entries([:entries]) end |
Instance Method Details
#verify ⇒ Object
:call-seq:
verify -> Array
Verify this ManagedDirectory for correctness. ManagedFiles registered within it are verified recursively.
If it does not pass verification a list of reasons why it fails is returned. The empty list is returned if verification passes.
77 78 79 80 81 82 83 |
# File 'lib/zip-container/entries/directory.rb', line 77 def verify = super @files.values.each { |f| += f.verify } end |