Module: Fontisan::Cldr::VersionResolver
- Defined in:
- lib/fontisan/cldr/version_resolver.rb
Overview
Resolves a user-supplied version intent to a concrete CLDR version.
Three input modes:
resolve(nil) # default_version from config
resolve(:default) # default_version from config
resolve("46.0.0") # explicit; validated against known_versions
resolve(:latest) # probes GitHub releases, picks highest;
# falls back to default on failure
Class Method Summary collapse
-
.resolve(intent) ⇒ String
A concrete version string.
-
.validate!(version) ⇒ void
Raise UnknownVersionError unless
versionis in known_versions.
Class Method Details
.resolve(intent) ⇒ String
Returns a concrete version string.
26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/fontisan/cldr/version_resolver.rb', line 26 def resolve(intent) case intent when nil, :default Config.default_version when :latest probe_latest else validate!(intent) intent end end |
.validate!(version) ⇒ void
This method returns an undefined value.
Raise UnknownVersionError unless version is in known_versions.
41 42 43 44 45 46 47 |
# File 'lib/fontisan/cldr/version_resolver.rb', line 41 def validate!(version) return if Config.known?(version) raise UnknownVersionError, "CLDR version #{version.inspect} is not recognized. " \ "Known versions: #{Config.known_versions.join(', ')}" end |