global

def <=>(other)

def <=>(other)
  if version.equal?(INFINITY)
    return 0 if other.version.equal?(INFINITY)
    return 1
  elsif other.version.equal?(INFINITY)
    return -1
  end
  comp = version <=> other.version
  return comp unless comp.zero?
  if inclusive && !other.inclusive
    1
  elsif !inclusive && other.inclusive
    -1
  else
    0
  end
end