Class FileHandlers::DirectoryHandler::DirNode
In: lib/webgen/plugins/filehandlers/directory.rb
Parent: Node
Webgen::Plugin DefaultHandler FileHandler CopyHandler ThumbnailWriter SipttraHandler VirtualFileHandler GalleryHandler TemplateHandler DirectoryHandler PageHandler Listener lib/webgen/plugins/filehandlers/filehandler.rb lib/webgen/plugins/filehandlers/copy.rb lib/webgen/plugins/filehandlers/directory.rb lib/webgen/plugins/filehandlers/page.rb lib/webgen/plugins/filehandlers/sipttra.rb lib/webgen/plugins/filehandlers/gallery.rb lib/webgen/plugins/filehandlers/template.rb FileHandlers dot/m_50_0.png

Specialized node for a directory.

Methods

[]   new   process_dir_index  

Public Class methods

[Source]

    # 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

Public Instance methods

[Source]

    # 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

Private Instance methods

[Source]

    # 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

[Validate]