Class: VivlioStarter::CLI::PdfCommands::PdfCommandRunner
- Inherits:
-
Object
- Object
- VivlioStarter::CLI::PdfCommands::PdfCommandRunner
- Defined in:
- lib/vivlio_starter/cli/pdf.rb
Overview
npx vivliostyle build をラップして PDF を生成する。 常に workspace の生成 config(用途別 entries を同梱・P4 §3.2)を -c で渡す。 かつての「ルート entries.js + ルート config」の手動フロー経路は 実体消滅につき撤去した(vivlioverso-manual-flow-removal-spec.md)。
Direct Known Subclasses
Instance Method Summary collapse
-
#build_succeeded? ⇒ Boolean
vivliostyle build が成功し、期待する出力ファイルまで生成できたかを返す。 入稿用本文のような最重量レンダリングは Chrome の一過性失敗で空振りする ことがあり、その際 system は非ゼロを返すか出力が生成されない。呼び出し側 (パイプライン)がリトライ・中断を判断できるよう、真の成否を返す。.
- #call ⇒ Object
-
#initialize(options, config_path:, output_path:) ⇒ PdfCommandRunner
constructor
A new instance of PdfCommandRunner.
Constructor Details
#initialize(options, config_path:, output_path:) ⇒ PdfCommandRunner
Returns a new instance of PdfCommandRunner.
93 94 95 96 97 98 |
# File 'lib/vivlio_starter/cli/pdf.rb', line 93 def initialize(, config_path:, output_path:) @options = || {} @config_path = config_path @output_path = output_path @build_success = false end |
Instance Method Details
#build_succeeded? ⇒ Boolean
vivliostyle build が成功し、期待する出力ファイルまで生成できたかを返す。 入稿用本文のような最重量レンダリングは Chrome の一過性失敗で空振りする ことがあり、その際 system は非ゼロを返すか出力が生成されない。呼び出し側 (パイプライン)がリトライ・中断を判断できるよう、真の成否を返す。
112 113 114 |
# File 'lib/vivlio_starter/cli/pdf.rb', line 112 def build_succeeded? @build_success && File.exist?(output_path) end |
#call ⇒ Object
100 101 102 103 104 105 106 |
# File 'lib/vivlio_starter/cli/pdf.rb', line 100 def call apply_verbose Common.log_action('PDFを生成しています…') execute_build handle_build_result build_succeeded? end |