Class: Webgen::SourceHandler::Directory
- Inherits:
-
Object
- Object
- Webgen::SourceHandler::Directory
- Includes:
- Base, WebsiteAccess
- Defined in:
- lib/webgen/sourcehandler/directory.rb
Overview
Handles directory source paths.
Instance Method Summary collapse
-
#create_directories(parent, dirname, path) ⇒ Object
Recursively create the directories specified in
dirname
underparent
(a leading slash is ignored). -
#initialize ⇒ Directory
constructor
:nodoc:.
Methods included from WebsiteAccess
Methods included from Base
#content, #create_node, #node_exists?, #output_path, #page_from_path, #parent_node
Methods included from Base::OutputPathHelpers
Methods included from Loggable
Constructor Details
#initialize ⇒ Directory
:nodoc:
11 12 13 |
# File 'lib/webgen/sourcehandler/directory.rb', line 11 def initialize # :nodoc: website.blackboard.add_service(:create_directories, method(:create_directories)) end |
Instance Method Details
#create_directories(parent, dirname, path) ⇒ Object
Recursively create the directories specified in dirname
under parent
(a leading slash is ignored). The path path
is the path that lead to the creation of these directories.
17 18 19 20 21 22 23 24 25 26 |
# File 'lib/webgen/sourcehandler/directory.rb', line 17 def create_directories(parent, dirname, path) dirname.sub(/^\//, '').split('/').each do |dir| dir_path = Webgen::Path.new(File.join(parent.alcn, dir, '/'), path) nodes = website.blackboard.invoke(:create_nodes, dir_path, self) do |dir_path| node_exists?(dir_path) || create_node(dir_path) end parent = nodes.first end parent end |