Class: Dependabot::Python::UpdateChecker
- Inherits:
-
UpdateCheckers::Base
- Object
- UpdateCheckers::Base
- Dependabot::Python::UpdateChecker
- Defined in:
- lib/dependabot/python/update_checker.rb,
lib/dependabot/python/update_checker/requirements_updater.rb,
lib/dependabot/python/update_checker/latest_version_finder.rb,
lib/dependabot/python/update_checker/poetry_version_resolver.rb,
lib/dependabot/python/update_checker/pipfile_version_resolver.rb,
lib/dependabot/python/update_checker/pip_compile_version_resolver.rb
Defined Under Namespace
Classes: LatestVersionFinder, PipCompileVersionResolver, PipfileVersionResolver, PoetryVersionResolver, RequirementsUpdater
Constant Summary collapse
- MAIN_PYPI_INDEXES =
%w( https://pypi.python.org/simple/ https://pypi.org/simple/ ).freeze
Instance Method Summary collapse
- #latest_resolvable_version ⇒ Object
- #latest_resolvable_version_with_no_unlock ⇒ Object
- #latest_version ⇒ Object
- #requirements_update_strategy ⇒ Object
- #updated_requirements ⇒ Object
Instance Method Details
#latest_resolvable_version ⇒ Object
30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
# File 'lib/dependabot/python/update_checker.rb', line 30 def latest_resolvable_version @latest_resolvable_version ||= case resolver_type when :pipfile PipfileVersionResolver.new( resolver_args.merge(unlock_requirement: true) ).latest_resolvable_version when :poetry PoetryVersionResolver.new( resolver_args.merge(unlock_requirement: true) ).latest_resolvable_version when :pip_compile PipCompileVersionResolver.new( resolver_args.merge(unlock_requirement: true) ).latest_resolvable_version when :requirements # pip doesn't (yet) do any dependency resolution, so if we don't # have a Pipfile or a pip-compile file, we just return the latest # version. latest_version else raise "Unexpected resolver type #{resolver_type}" end end |
#latest_resolvable_version_with_no_unlock ⇒ Object
54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 |
# File 'lib/dependabot/python/update_checker.rb', line 54 def latest_resolvable_version_with_no_unlock @latest_resolvable_version_with_no_unlock ||= case resolver_type when :pipfile PipfileVersionResolver.new( resolver_args.merge(unlock_requirement: false) ).latest_resolvable_version when :poetry PoetryVersionResolver.new( resolver_args.merge(unlock_requirement: false) ).latest_resolvable_version when :pip_compile PipCompileVersionResolver.new( resolver_args.merge(unlock_requirement: false) ).latest_resolvable_version when :requirements latest_pip_version_with_no_unlock else raise "Unexpected resolver type #{resolver_type}" end end |
#latest_version ⇒ Object
26 27 28 |
# File 'lib/dependabot/python/update_checker.rb', line 26 def latest_version @latest_version ||= fetch_latest_version end |
#requirements_update_strategy ⇒ Object
85 86 87 88 89 90 91 92 93 |
# File 'lib/dependabot/python/update_checker.rb', line 85 def requirements_update_strategy # If passed in as an option (in the base class) honour that option if @requirements_update_strategy return @requirements_update_strategy.to_sym end # Otherwise, check if this is a poetry library or not poetry_library? ? :widen_ranges : :bump_versions end |
#updated_requirements ⇒ Object
75 76 77 78 79 80 81 82 83 |
# File 'lib/dependabot/python/update_checker.rb', line 75 def updated_requirements RequirementsUpdater.new( requirements: dependency.requirements, latest_version: latest_version&.to_s, latest_resolvable_version: latest_resolvable_version&.to_s, update_strategy: requirements_update_strategy, has_lockfile: !(pipfile_lock || poetry_lock || pyproject_lock).nil? ).updated_requirements end |