class DependencySpy::SemVer
Public Class Methods
intersects(vor1, vor2)
click to toggle source
# File lib/dependency_spy/semver.rb, line 23 def self.intersects(vor1, vor2) vor1 = parse(vor1) if vor1.is_a?(String) vor2 = parse(vor2) if vor2.is_a?(String) if vor1.is_a?(SemanticRange::Range) && vor2.is_a?(SemanticRange::Range) vor1.intersects(vor2) elsif vor1.is_a?(SemanticRange::Range) && vor2.is_a?(SemanticRange::Version) SemanticRange.satisfies(vor2, vor1) elsif vor1.is_a?(SemanticRange::Version) && vor2.is_a?(SemanticRange::Range) SemanticRange.satisfies(vor1, vor2) elsif vor1.is_a?(SemanticRange::Version) && vor2.is_a?(SemanticRange::Version) SemanticRange.eq(vor1, vor2) else vor1 == vor2 end end
Private Class Methods
parse(version_or_range, loose = false)
click to toggle source
# File lib/dependency_spy/semver.rb, line 44 def parse(version_or_range, loose = false) version_or_range = '>= 0.0.0' if version_or_range == '*' return version_or_range if version_or_range.is_a?(SemanticRange::Range) || version_or_range.is_a?(SemanticRange::Version) begin SemanticRange::Version.new(version_or_range, loose) rescue SemanticRange::InvalidVersion begin SemanticRange::Range.new(version_or_range, loose) rescue SemanticRange::InvalidRange version_or_range end end end