Module: Ucode::CodeChart::Verifier::Builder
- Defined in:
- lib/ucode/code_chart/verifier/builder.rb
Overview
Selects a Strategy based on tool availability. Preference order:
1. `UCODE_VERIFIER_STRATEGY` env var override — explicit
user choice. Value is the strategy class name (e.g.
`"resvg"`, `"mutool"`).
2. {ResvgStrategy} — preferred for accuracy and speed.
3. {MutoolStrategy} — fallback (always installed if the
trace pipeline works).
Returns nil when no strategy is available; Ucode::CodeChart::Verifier then
emits Skipped for every glyph.
Class Method Summary collapse
Class Method Details
.pick(strategies: nil) ⇒ Strategy?
26 27 28 29 30 31 32 33 34 |
# File 'lib/ucode/code_chart/verifier/builder.rb', line 26 def pick(strategies: nil) strategies ||= default_strategies env_choice = ENV["UCODE_VERIFIER_STRATEGY"] if env_choice found = strategies.find { |s| name_of(s) == env_choice } return found if found&.available? end strategies.find(&:available?) end |