Sha256: c38ffb85f6ac706230e11e61288d7b5f4edaa6eb50a6df8c8b0d5572dc4da42b
Contents?: true
Size: 844 Bytes
Versions: 2
Compression:
Stored size: 844 Bytes
Contents
module SemanticRange class Comparator attr_reader :semver, :operator, :value def initialize(comp, loose) if comp.is_a?(Comparator) return comp if comp.loose == loose @comp = comp.value end @loose = loose parse(comp) @value = @semver == ANY ? '' : @operator + @semver.version end def to_s @value end def test(version) return true if @semver == ANY version = Version.new(version, @loose) if version.is_a?(String) SemanticRange.cmp(version, @operator, @semver, @loose) end def parse(comp) m = comp.match(@loose ? COMPARATORLOOSE : COMPARATOR) raise InvalidComparator.new(comp) unless m @operator = m[1] @operator = '' if @operator == '=' @semver = !m[2] ? ANY : Version.new(m[2], @loose) end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
semantic_range-2.0.0 | lib/semantic_range/comparator.rb |
semantic_range-1.0.0 | lib/semantic_range/comparator.rb |