Module: Milestoner::Builders

Defined in:
lib/milestoner/builders/path_resolver.rb,
lib/milestoner/builders/web.rb,
lib/milestoner/builders/feed.rb,
lib/milestoner/builders/stream.rb,
lib/milestoner/builders/manifest.rb,
lib/milestoner/builders/markdown.rb,
lib/milestoner/builders/md/pager.rb,
lib/milestoner/builders/ascii_doc.rb,
lib/milestoner/builders/container.rb,
lib/milestoner/builders/adoc/pager.rb,
lib/milestoner/builders/md/indexer.rb,
lib/milestoner/builders/site/pager.rb,
lib/milestoner/builders/site/styler.rb,
lib/milestoner/builders/adoc/indexer.rb,
lib/milestoner/builders/dependencies.rb,
lib/milestoner/builders/md/container.rb,
lib/milestoner/builders/site/indexer.rb,
lib/milestoner/builders/adoc/container.rb,
lib/milestoner/builders/site/container.rb,
lib/milestoner/builders/md/dependencies.rb,
lib/milestoner/builders/adoc/dependencies.rb,
lib/milestoner/builders/site/dependencies.rb,
lib/milestoner/builders/syndication/refine.rb,
lib/milestoner/builders/syndication/shared.rb,
lib/milestoner/builders/syndication/builder.rb,
lib/milestoner/builders/syndication/indexer.rb

Overview

Safely handles file paths which may or may not exist.

Defined Under Namespace

Modules: ADoc, Container, MD, Site, Syndication Classes: ASCIIDoc, Feed, Manifest, Markdown, Stream, Web

Constant Summary collapse

Dependencies =
Infusible[Container]
PathResolver =
lambda do |path, logger:, &block|
  if path.exist?
    logger.warn { "Path exists: #{path}. Skipped." }
  else
    path.make_ancestors
    block.call path if block
    logger.info { "Created: #{path}." }
  end

  Dry::Monads::Success path
end