<=>(other)
click to toggle source
def <=>(other)
return -1 if other.equal?(INFINITY)
comp = left <=> other.left
return comp unless comp.zero?
right <=> other.right
end
cover?(v)
click to toggle source
def cover?(v)
return false if left.inclusive && left.version > v
return false if !left.inclusive && left.version >= v
if right.version != INFINITY
return false if right.inclusive && right.version < v
return false if !right.inclusive && right.version <= v
end
true
end
empty?()
click to toggle source
def empty?
left.version == right.version && !(left.inclusive && right.inclusive)
end
single?()
click to toggle source
def single?
left.version == right.version
end
to_s()
click to toggle source
def to_s
"#{left.inclusive ? "[" : "("}#{left.version}, #{right.version}#{right.inclusive ? "]" : ")"}"
end