Parent

Included Modules

Class Index [+]

Quicksearch

Webgen::SourceHandler::Copy

Simple source handler for copying files from the source tree, either verbatim or by applying a content processor.

Public Instance Methods

content(node) click to toggle source

Return either the preprocessed content of the node or the IO object for the node’s source path depending on the node type.

    # File lib/webgen/sourcehandler/copy.rb, line 30
30:     def content(node)
31:       io = website.blackboard.invoke(:source_paths)[node.node_info[:src]].io
32:       if node.node_info[:preprocessor]
33:         is_binary = website.blackboard.invoke(:content_processor_binary?, node.node_info[:preprocessor])
34:         context = Webgen::Context.new(:content => io.data(is_binary ? 'rb' : 'r'), :chain => [node])
35:         website.blackboard.invoke(:content_processor, node.node_info[:preprocessor]).call(context)
36:         context.content
37:       else
38:         io
39:       end
40:     end
create_node(path) click to toggle source

Create the node for path. If the path has the name of a content processor as the first part in the extension, it is preprocessed.

    # File lib/webgen/sourcehandler/copy.rb, line 14
14:     def create_node(path)
15:       if path.ext.index('.')
16:         processor, *rest = path.ext.split('.')
17:         if website.blackboard.invoke(:content_processor_names).include?(processor)
18:           path.ext = rest.join('.')
19:         else
20:           processor = nil
21:         end
22:       end
23:       super(path) do |node|
24:         node.node_info[:preprocessor] = processor
25:       end
26:     end

Disabled; run with --debug to generate this.

[Validate]

Generated with the Darkfish Rdoc Generator 1.1.6.