Module: ZipContainer::ManagedEntries
- Includes:
- Util
- Included in:
- Container, ManagedDirectory
- Defined in:
- lib/zip-container/entries/managed.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!.
Methods included from Util
Instance Method Details
#hidden_directory?(entry) ⇒ Boolean
:call-seq:
hidden_directory?(entry) -> boolean
Is the supplied entry/name a hidden directory?
108 109 110 111 |
# File 'lib/zip-container/entries/managed.rb', line 108 def hidden_directory?(entry) name = 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?
126 127 128 |
# File 'lib/zip-container/entries/managed.rb', line 126 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?
117 118 119 120 |
# File 'lib/zip-container/entries/managed.rb', line 117 def hidden_file?(entry) name = 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.
48 49 50 51 52 53 |
# File 'lib/zip-container/entries/managed.rb', line 48 def managed_directories return @managed_directories if @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?
67 68 69 |
# File 'lib/zip-container/entries/managed.rb', line 67 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.
59 60 61 |
# File 'lib/zip-container/entries/managed.rb', line 59 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.
75 76 77 |
# File 'lib/zip-container/entries/managed.rb', line 75 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?
91 92 93 94 |
# File 'lib/zip-container/entries/managed.rb', line 91 def managed_entry?(entry, list = managed_entry_names) name = 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.
83 84 85 |
# File 'lib/zip-container/entries/managed.rb', line 83 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?
100 101 102 |
# File 'lib/zip-container/entries/managed.rb', line 100 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.
144 145 146 |
# File 'lib/zip-container/entries/managed.rb', line 144 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.
134 135 136 137 138 |
# File 'lib/zip-container/entries/managed.rb', line 134 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.
153 154 155 156 157 158 159 160 161 162 163 164 165 |
# File 'lib/zip-container/entries/managed.rb', line 153 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.
172 173 174 175 |
# File 'lib/zip-container/entries/managed.rb', line 172 def verify_managed_entries! = verify_managed_entries raise MalformedContainerError, unless .empty? end |