Module: SemverDialects::VersionChecker
- Defined in:
- lib/semver_dialects.rb
Overview
A utiltity module that helps with version matching
Class Method Summary collapse
- .version_sat?(typ, raw_ver, raw_constraint) ⇒ Boolean
- .version_translate(typ, version_string) ⇒ Object
Class Method Details
.version_sat?(typ, raw_ver, raw_constraint) ⇒ Boolean
41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
# File 'lib/semver_dialects.rb', line 41 def self.version_sat?(typ, raw_ver, raw_constraint) version_constraint = version_translate(typ, raw_constraint) raise SemverDialects::Error, 'malformed constraint' if version_constraint.nil? || version_constraint.empty? version = VersionParser.parse('=' + raw_ver) raise SemverDialects::Error, 'malformed constraint' if version.nil? || version.empty? constraint = VersionRange.new version_constraint.each do |version_interval_str| constraint << VersionParser.parse(version_interval_str) end constraint.overlaps_with?(version) end |
.version_translate(typ, version_string) ⇒ Object
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/semver_dialects.rb', line 18 def self.version_translate(typ, version_string) case typ when 'maven' VersionTranslator.translate_maven(version_string) when 'npm' VersionTranslator.translate_npm(version_string) when 'conan' VersionTranslator.translate_conan(version_string) when 'nuget' VersionTranslator.translate_nuget(version_string) when 'go' VersionTranslator.translate_go(version_string) when 'gem' VersionTranslator.translate_gem(version_string) when 'pypi' VersionTranslator.translate_pypi(version_string) when 'packagist' VersionTranslator.translate_packagist(version_string) else raise SemverDialects::Error, "unsupported package type '#{typ}'" end end |