| Class | FileHandlers::DirectoryHandler::DirNode |
| In: |
lib/webgen/plugins/filehandlers/directory.rb
|
| Parent: | Node |
Specialized node for a directory.
# File lib/webgen/plugins/filehandlers/directory.rb, line 34
34: def initialize( parent, path, meta_info = {} )
35: super( parent, path )
36: self.meta_info = meta_info
37: self['title'] = File.basename( path ).capitalize
38: end
# File lib/webgen/plugins/filehandlers/directory.rb, line 40
40: def []( name )
41: process_dir_index if name == 'indexFile' &&
42: (!self.meta_info.has_key?( 'indexFile' ) ||
43: (!self.meta_info['indexFile'].nil? && !self.meta_info['indexFile'].kind_of?( Node ) ) )
44: super
45: end
# File lib/webgen/plugins/filehandlers/directory.rb, line 51
51: def process_dir_index
52: indexFile = self.meta_info['indexFile']
53: if indexFile.nil?
54: self['indexFile'] = nil
55: else
56: node = resolve_node( indexFile )
57: if node
58: node_info[:processor].log(:info) { "Directory index file for <#{self.full_path}> => <#{node.full_path}>" }
59: self['indexFile'] = node
60: else
61: node_info[:processor].log(:warn) { "No directory index file found for directory <#{self.full_path}>" }
62: self['indexFile'] = nil
63: end
64: end
65: end