Class: Dependabot::Conda::UpdateChecker
- Inherits:
-
UpdateCheckers::Base
- Object
- UpdateCheckers::Base
- Dependabot::Conda::UpdateChecker
- Extended by:
- T::Sig
- Defined in:
- lib/dependabot/conda/update_checker.rb,
lib/dependabot/conda/update_checker/requirements_updater.rb,
lib/dependabot/conda/update_checker/latest_version_finder.rb,
lib/dependabot/conda/update_checker/requirement_translator.rb
Defined Under Namespace
Classes: LatestVersionFinder, RequirementTranslator, RequirementsUpdater
Instance Method Summary collapse
-
#initialize(dependency:, dependency_files:, credentials:, repo_contents_path: nil, ignored_versions: [], raise_on_ignored: false, security_advisories: [], requirements_update_strategy: nil, dependency_group: nil, update_cooldown: nil, options: {}) ⇒ UpdateChecker
constructor
A new instance of UpdateChecker.
- #latest_resolvable_version ⇒ Object
- #latest_resolvable_version_with_no_unlock ⇒ Object
- #latest_version ⇒ Object
- #lowest_resolvable_security_fix_version ⇒ Object
- #lowest_security_fix_version ⇒ Object
- #requirements_unlocked_or_can_be? ⇒ Boolean
- #requirements_update_strategy ⇒ Object
- #up_to_date? ⇒ Boolean
- #updated_requirements ⇒ Object
Constructor Details
#initialize(dependency:, dependency_files:, credentials:, repo_contents_path: nil, ignored_versions: [], raise_on_ignored: false, security_advisories: [], requirements_update_strategy: nil, dependency_group: nil, update_cooldown: nil, options: {}) ⇒ UpdateChecker
Returns a new instance of UpdateChecker.
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
# File 'lib/dependabot/conda/update_checker.rb', line 32 def initialize( dependency:, dependency_files:, credentials:, repo_contents_path: nil, ignored_versions: [], raise_on_ignored: false, security_advisories: [], requirements_update_strategy: nil, dependency_group: nil, update_cooldown: nil, options: {} ) super @latest_version = T.let(nil, T.nilable(T.any(String, Dependabot::Version))) @lowest_resolvable_security_fix_version = T.let(nil, T.nilable(Dependabot::Version)) @lowest_resolvable_security_fix_version_fetched = T.let(false, T::Boolean) end |
Instance Method Details
#latest_resolvable_version ⇒ Object
64 65 66 |
# File 'lib/dependabot/conda/update_checker.rb', line 64 def latest_resolvable_version latest_version end |
#latest_resolvable_version_with_no_unlock ⇒ Object
59 60 61 |
# File 'lib/dependabot/conda/update_checker.rb', line 59 def latest_resolvable_version_with_no_unlock latest_version end |
#latest_version ⇒ Object
52 53 54 55 56 |
# File 'lib/dependabot/conda/update_checker.rb', line 52 def latest_version return nil if dependency.requirements.all? { |req| req[:requirement].nil? || req[:requirement] == "*" } @latest_version ||= fetch_latest_version end |
#lowest_resolvable_security_fix_version ⇒ Object
87 88 89 90 91 92 93 94 95 |
# File 'lib/dependabot/conda/update_checker.rb', line 87 def lowest_resolvable_security_fix_version raise "Dependency not vulnerable!" unless vulnerable? return @lowest_resolvable_security_fix_version if @lowest_resolvable_security_fix_version_fetched @lowest_resolvable_security_fix_version = fetch_lowest_resolvable_security_fix_version @lowest_resolvable_security_fix_version_fetched = true @lowest_resolvable_security_fix_version end |
#lowest_security_fix_version ⇒ Object
82 83 84 |
# File 'lib/dependabot/conda/update_checker.rb', line 82 def lowest_security_fix_version latest_version_finder.lowest_security_fix_version end |
#requirements_unlocked_or_can_be? ⇒ Boolean
77 78 79 |
# File 'lib/dependabot/conda/update_checker.rb', line 77 def requirements_unlocked_or_can_be? true end |
#requirements_update_strategy ⇒ Object
107 108 109 110 111 |
# File 'lib/dependabot/conda/update_checker.rb', line 107 def requirements_update_strategy return @requirements_update_strategy if @requirements_update_strategy RequirementsUpdateStrategy::BumpVersions end |
#up_to_date? ⇒ Boolean
69 70 71 72 73 74 |
# File 'lib/dependabot/conda/update_checker.rb', line 69 def up_to_date? return true if latest_version.nil? return false if dependency.version.nil? T.must(latest_version) <= Dependabot::Conda::Version.new(dependency.version) end |
#updated_requirements ⇒ Object
98 99 100 101 102 103 104 |
# File 'lib/dependabot/conda/update_checker.rb', line 98 def updated_requirements RequirementsUpdater.new( requirements: dependency.requirements, update_strategy: requirements_update_strategy, latest_resolvable_version: preferred_resolvable_version&.to_s ).updated_requirements end |