class Dependabot::Python::UpdateChecker::PipVersionResolver
Attributes
credentials[R]
dependency[R]
dependency_files[R]
ignored_versions[R]
security_advisories[R]
Public Class Methods
new(dependency:, dependency_files:, credentials:, ignored_versions:, raise_on_ignored: false, security_advisories:)
click to toggle source
# File lib/dependabot/python/update_checker/pip_version_resolver.rb, line 11 def initialize(dependency:, dependency_files:, credentials:, ignored_versions:, raise_on_ignored: false, security_advisories:) @dependency = dependency @dependency_files = dependency_files @credentials = credentials @ignored_versions = ignored_versions @raise_on_ignored = raise_on_ignored @security_advisories = security_advisories end
Public Instance Methods
latest_resolvable_version()
click to toggle source
# File lib/dependabot/python/update_checker/pip_version_resolver.rb, line 22 def latest_resolvable_version latest_version_finder.latest_version(python_version: python_version) end
latest_resolvable_version_with_no_unlock()
click to toggle source
# File lib/dependabot/python/update_checker/pip_version_resolver.rb, line 26 def latest_resolvable_version_with_no_unlock latest_version_finder. latest_version_with_no_unlock(python_version: python_version) end
lowest_resolvable_security_fix_version()
click to toggle source
# File lib/dependabot/python/update_checker/pip_version_resolver.rb, line 31 def lowest_resolvable_security_fix_version latest_version_finder. lowest_security_fix_version(python_version: python_version) end
Private Instance Methods
latest_version_finder()
click to toggle source
# File lib/dependabot/python/update_checker/pip_version_resolver.rb, line 41 def latest_version_finder @latest_version_finder ||= LatestVersionFinder.new( dependency: dependency, dependency_files: dependency_files, credentials: credentials, ignored_versions: ignored_versions, raise_on_ignored: @raise_on_ignored, security_advisories: security_advisories ) end
python_requirement_parser()
click to toggle source
# File lib/dependabot/python/update_checker/pip_version_resolver.rb, line 87 def python_requirement_parser @python_requirement_parser ||= FileParser::PythonRequirementParser. new(dependency_files: dependency_files) end
python_version()
click to toggle source
# File lib/dependabot/python/update_checker/pip_version_resolver.rb, line 52 def python_version @python_version ||= user_specified_python_version || python_version_matching_imputed_requirements || PythonVersions::PRE_INSTALLED_PYTHON_VERSIONS.first end
python_version_matching(requirements)
click to toggle source
# File lib/dependabot/python/update_checker/pip_version_resolver.rb, line 76 def python_version_matching(requirements) PythonVersions::SUPPORTED_VERSIONS_TO_ITERATE.find do |version_string| version = Python::Version.new(version_string) requirements.all? do |req| next req.any? { |r| r.satisfied_by?(version) } if req.is_a?(Array) req.satisfied_by?(version) end end end
python_version_matching_imputed_requirements()
click to toggle source
# File lib/dependabot/python/update_checker/pip_version_resolver.rb, line 68 def python_version_matching_imputed_requirements compiled_file_python_requirement_markers = python_requirement_parser.imputed_requirements.map do |r| Dependabot::Python::Requirement.new(r) end python_version_matching(compiled_file_python_requirement_markers) end
user_specified_python_version()
click to toggle source
# File lib/dependabot/python/update_checker/pip_version_resolver.rb, line 59 def user_specified_python_version return unless python_requirement_parser.user_specified_requirements.any? user_specified_requirements = python_requirement_parser.user_specified_requirements. map { |r| Python::Requirement.requirements_array(r) } python_version_matching(user_specified_requirements) end