Class: Vivlio::Starter::CLI::TocCommands::TocCommandExecutor

Inherits:
Object
  • Object
show all
Defined in:
lib/vivlio/starter/cli/toc.rb

Overview

toc コマンドのエントリ処理を統括する

Constant Summary collapse

BASE_DIR =
Pathname.new('.').expand_path

Instance Method Summary collapse

Constructor Details

#initialize(options, htmls) ⇒ TocCommandExecutor

Returns a new instance of TocCommandExecutor.



35
36
37
38
# File 'lib/vivlio/starter/cli/toc.rb', line 35

def initialize(options, htmls)
  @options = options || {}
  @resolver = HtmlTargetResolver.new(htmls, base_dir: BASE_DIR)
end

Instance Method Details

#callObject



40
41
42
43
44
45
46
47
48
49
# File 'lib/vivlio/starter/cli/toc.rb', line 40

def call
  apply_verbose
  targets = resolver.resolve
  return warn_no_targets if targets.empty?

  log_targets(targets)
  entry_map = build_entry_map(targets)
  document = TocDocumentBuilder.new(entry_map, base_dir: BASE_DIR).build
  TocOutputWriter.new(document, base_dir: BASE_DIR).write
end