Module: Fontisan::Ucd::Config

Defined in:
lib/fontisan/ucd/config.rb

Overview

Single source of truth for UCD version selection.

Wraps lib/fontisan/config/ucd.yml. Loads the YAML once at first access and memoizes. All other Ucd::* classes resolve versions, URLs, and known-version validation through this module.

Class Method Summary collapse

Class Method Details

.base_urlObject

Base URL for fetching UCDXML artifacts.



30
31
32
# File 'lib/fontisan/ucd/config.rb', line 30

def base_url
  data[:base_url]
end

.default_versionObject

The version Fontisan uses by default for auto-download and fontisan ucd download (no args). String like "17.0.0".



19
20
21
# File 'lib/fontisan/ucd/config.rb', line 19

def default_version
  data[:default_version]
end

.known?(version) ⇒ Boolean

True if the version appears in known_versions.

Returns:

  • (Boolean)


47
48
49
# File 'lib/fontisan/ucd/config.rb', line 47

def known?(version)
  known_versions.include?(version)
end

.known_versionsObject

Array of version strings this Fontisan release recognizes. Used by VersionResolver to reject unknown versions early.



25
26
27
# File 'lib/fontisan/ucd/config.rb', line 25

def known_versions
  data[:known_versions]
end

.listing_urlObject

Listing URL for --latest probing.



35
36
37
# File 'lib/fontisan/ucd/config.rb', line 35

def listing_url
  data[:listing_url]
end

.ucdxml_url_for(version) ⇒ String

Full URL to the UCDXML flat zip for a given version.

Parameters:

  • version (String)

    e.g. "17.0.0"

Returns:

  • (String)


42
43
44
# File 'lib/fontisan/ucd/config.rb', line 42

def ucdxml_url_for(version)
  "#{base_url}/#{version}/ucdxml/ucd.all.flat.zip"
end