Module: Vers::Scheme

Extended by:
Scheme
Included in:
Scheme
Defined in:
lib/vers/scheme.rb

Constant Summary collapse

ALIASES =
{
  "rubygems" => "gem",
  "debian" => "deb",
  "golang" => "go",
  "elixir" => "hex",
  "alpine" => "apk"
}.freeze
HANDLERS =
{
  "alpm" => ALPMVersion,
  "apk" => APKVersion,
  "bazel" => BazelVersion,
  "cargo" => CargoVersion,
  "composer" => ComposerVersion,
  "conan" => ConanVersion,
  "deb" => DebianVersion,
  "datetime" => DatetimeVersion,
  "gem" => GemVersion,
  "gentoo" => GentooVersion,
  "go" => GoVersion,
  "hex" => SemverVersion,
  "intdot" => IntDotVersion,
  "lexicographic" => LexicographicVersion,
  "maven" => MavenVersion,
  "nginx" => SemverVersion,
  "npm" => NpmVersion,
  "nuget" => NuGetVersion,
  "openssl" => OpenSSLVersion,
  "pub" => PubVersion,
  "pypi" => PyPIVersion,
  "rpm" => RPMVersion,
  "semver" => SemverVersion
}.freeze

Instance Method Summary collapse

Instance Method Details

#canonical(value) ⇒ Object



41
42
43
44
45
46
# File 'lib/vers/scheme.rb', line 41

def canonical(value)
  return nil if value.nil?

  scheme = value.to_s.downcase
  ALIASES.fetch(scheme, scheme)
end

#handler(value) ⇒ Object



48
49
50
# File 'lib/vers/scheme.rb', line 48

def handler(value)
  HANDLERS[canonical(value)]
end