class Dependabot::Uv::UpdateChecker::RequirementsUpdater

def update_greatest_version(version, version_to_be_permitted)

Updates the version in a "<" constraint to allow the given version
def update_greatest_version(version, version_to_be_permitted)
  if version_to_be_permitted.is_a?(String)
    version_to_be_permitted =
      Uv::Version.new(version_to_be_permitted)
  end
  version = version.release if version.prerelease?
  index_to_update = [
    version.segments.map.with_index { |n, i| n.zero? ? 0 : i }.max,
    version_to_be_permitted.segments.count - 1
  ].min
  new_segments = version.segments.map.with_index do |_, index|
    if index < index_to_update
      version_to_be_permitted.segments[index]
    elsif index == index_to_update
      version_to_be_permitted.segments[index] + 1
    else
      0
    end
  end
  new_segments.join(".")
end