class Dependabot::Uv::UpdateChecker::RequirementsUpdater
def updated_pyproject_requirement(req)
def updated_pyproject_requirement(req) return req unless latest_resolvable_version return req unless req.fetch(:requirement) return req if new_version_satisfies?(req) && !has_lockfile # If the requirement uses || syntax then we always want to widen it return widen_pyproject_requirement(req) if req.fetch(:requirement).match?(PYPROJECT_OR_SEPARATOR) # If the requirement is a development dependency we always want to # bump it return update_pyproject_version(req) if req.fetch(:groups).include?("dev-dependencies") case update_strategy when RequirementsUpdateStrategy::WidenRanges then widen_pyproject_requirement(req) when RequirementsUpdateStrategy::BumpVersions then update_pyproject_version(req) when RequirementsUpdateStrategy::BumpVersionsIfNecessary then update_pyproject_version_if_needed(req) else raise "Unexpected update strategy: #{update_strategy}" end rescue UnfixableRequirement req.merge(requirement: :unfixable) end