Module: ZipContainer::ManagedEntries
- Included in:
- Container, ManagedDirectory
- Defined in:
- lib/zip-container/managed_entries.rb
Overview
This module provides support for managed file and directory entries.
Note! If you mix this module in you must call initialize_managed_entries
in your constructor to ensure that the internal lists of managed entries are correctly assigned.
Instance Method Summary collapse
-
#hidden_directory?(entry) ⇒ Boolean
:call-seq: hidden_directory?(entry) -> boolean.
-
#hidden_entry?(entry) ⇒ Boolean
:call-seq: hidden_entry?(entry) -> boolean.
-
#hidden_file?(entry) ⇒ Boolean
:call-seq: hidden_file?(entry) -> boolean.
-
#managed_directories ⇒ Object
:call-seq: managed_directories -> Array.
-
#managed_directory?(entry) ⇒ Boolean
:call-seq: managed_directory?(entry) -> boolean.
-
#managed_directory_names ⇒ Object
:call-seq: managed_directory_names -> Array.
-
#managed_entries ⇒ Object
:call-seq: managed_entries -> Array.
-
#managed_entry?(entry, list = managed_entry_names) ⇒ Boolean
:call-seq: managed_entry?(entry) -> boolean.
-
#managed_entry_names ⇒ Object
:call-seq: managed_entry_names -> Array.
-
#managed_file?(entry) ⇒ Boolean
:call-seq: managed_file?(entry) -> boolean.
-
#managed_file_names ⇒ Object
:call-seq: managed_file_names -> Array.
-
#managed_files ⇒ Object
:call-seq: managed_files -> Array.
-
#verify_managed_entries ⇒ Object
:call-seq: verify_managed_entries -> Array.
-
#verify_managed_entries! ⇒ Object
:call-seq: verify_managed_entries!.
Instance Method Details
#hidden_directory?(entry) ⇒ Boolean
:call-seq:
hidden_directory?(entry) -> boolean
Is the supplied entry/name a hidden directory?
112 113 114 115 |
# File 'lib/zip-container/managed_entries.rb', line 112 def hidden_directory?(entry) name = Util.entry_name(entry) managed_directory?(name) ? all_managed_entries[name].hidden? : false end |
#hidden_entry?(entry) ⇒ Boolean
:call-seq:
hidden_entry?(entry) -> boolean
Is the supplied entry/name a hidden?
130 131 132 |
# File 'lib/zip-container/managed_entries.rb', line 130 def hidden_entry?(entry) hidden_directory?(entry) || hidden_file?(entry) end |
#hidden_file?(entry) ⇒ Boolean
:call-seq:
hidden_file?(entry) -> boolean
Is the supplied entry/name a hidden file?
121 122 123 124 |
# File 'lib/zip-container/managed_entries.rb', line 121 def hidden_file?(entry) name = Util.entry_name(entry) managed_file?(name) ? all_managed_entries[name].hidden? : false end |
#managed_directories ⇒ Object
:call-seq:
managed_directories -> Array
Return the list of managed directories.
52 53 54 55 56 57 |
# File 'lib/zip-container/managed_entries.rb', line 52 def managed_directories return @managed_directories if defined?(@managed_directories) dirs = @directories.values @managed_directories = dirs + dirs.map(&:managed_directories).flatten end |
#managed_directory?(entry) ⇒ Boolean
:call-seq:
managed_directory?(entry) -> boolean
Is the supplied entry/name a managed directory?
71 72 73 |
# File 'lib/zip-container/managed_entries.rb', line 71 def managed_directory?(entry) managed_entry?(entry, managed_directory_names) end |
#managed_directory_names ⇒ Object
:call-seq:
managed_directory_names -> Array
Return the list of managed directory names.
63 64 65 |
# File 'lib/zip-container/managed_entries.rb', line 63 def managed_directory_names @managed_directory_names ||= managed_directories.map(&:full_name) end |
#managed_entries ⇒ Object
:call-seq:
managed_entries -> Array
Return the list of managed files and directories.
79 80 81 |
# File 'lib/zip-container/managed_entries.rb', line 79 def managed_entries @managed_entries ||= managed_files + managed_directories end |
#managed_entry?(entry, list = managed_entry_names) ⇒ Boolean
:call-seq:
managed_entry?(entry) -> boolean
Is the supplied entry/name a managed entry?
95 96 97 98 |
# File 'lib/zip-container/managed_entries.rb', line 95 def managed_entry?(entry, list = managed_entry_names) name = Util.entry_name(entry) list.map(&:downcase).include? name.downcase end |
#managed_entry_names ⇒ Object
:call-seq:
managed_entry_names -> Array
Return the list of managed file and directory names.
87 88 89 |
# File 'lib/zip-container/managed_entries.rb', line 87 def managed_entry_names @managed_entry_names ||= managed_file_names + managed_directory_names end |
#managed_file?(entry) ⇒ Boolean
:call-seq:
managed_file?(entry) -> boolean
Is the supplied entry/name a managed file?
104 105 106 |
# File 'lib/zip-container/managed_entries.rb', line 104 def managed_file?(entry) managed_entry?(entry, managed_file_names) end |
#managed_file_names ⇒ Object
:call-seq:
managed_file_names -> Array
Return the list of managed file names.
148 149 150 |
# File 'lib/zip-container/managed_entries.rb', line 148 def managed_file_names @managed_file_names ||= managed_files.map(&:full_name) end |
#managed_files ⇒ Object
:call-seq:
managed_files -> Array
Return the list of managed files.
138 139 140 141 142 |
# File 'lib/zip-container/managed_entries.rb', line 138 def managed_files @managed_files ||= @files.values + @directories.values.map(&:managed_files).flatten end |
#verify_managed_entries ⇒ Object
:call-seq:
verify_managed_entries -> Array
All managed files and directories are checked to make sure that they exist and validate, if required.
157 158 159 160 161 162 163 164 165 166 167 168 169 |
# File 'lib/zip-container/managed_entries.rb', line 157 def verify_managed_entries = [] @directories.each_value do |dir| += dir.verify end @files.each_value do |file| += file.verify end end |
#verify_managed_entries! ⇒ Object
:call-seq:
verify_managed_entries!
All managed files and directories are checked to make sure that they exist and validate, if required.
176 177 178 179 |
# File 'lib/zip-container/managed_entries.rb', line 176 def verify_managed_entries! = verify_managed_entries raise MalformedContainerError, unless .empty? end |