Class: VivlioStarter::CLI::Guards::CatalogEntriesCheck
- Defined in:
- lib/vivlio_starter/cli/guards/catalog_entries_check.rb
Overview
config/catalog.yml に記載された章ファイルがすべて contents/ に実在するかを検証する。
カタログ解析はセクション・部タイトル・ショートハンド対応済みの TokenResolver::Resolver に委譲し、ロジックの二重化を避ける。 catalog.yml 自体の不在は CatalogFileCheck の責務のため、ここでは合格扱い。
Instance Method Summary collapse
Instance Method Details
#validate ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 23 |
# File 'lib/vivlio_starter/cli/guards/catalog_entries_check.rb', line 12 def validate return [] unless File.file?(Build::CatalogLoader::CATALOG_FILE) missing = TokenResolver::Resolver.new.resolve.reject(&:exists?) return [] if missing.empty? [error( 'config/catalog.yml に記載されている章ファイルが contents/ に見つかりません', detail: missing.map { "- contents/#{it.basename}.md" } + ['対処: catalog.yml の該当行を削除するか原稿を作成してください(vs delete <章番号> で一括削除可)'] )] end |