Class: Dependabot::Vcpkg::UpdateChecker

Inherits:
UpdateCheckers::Base
  • Object
show all
Extended by:
T::Sig
Defined in:
lib/dependabot/vcpkg/update_checker.rb,
lib/dependabot/vcpkg/update_checker/latest_version_finder.rb

Defined Under Namespace

Classes: LatestVersionFinder

Instance Method Summary collapse

Instance Method Details

#latest_resolvable_versionObject



28
# File 'lib/dependabot/vcpkg/update_checker.rb', line 28

def latest_resolvable_version = latest_version

#latest_resolvable_version_with_no_unlockObject



31
# File 'lib/dependabot/vcpkg/update_checker.rb', line 31

def latest_resolvable_version_with_no_unlock = latest_version

#latest_versionObject



18
19
20
21
22
23
# File 'lib/dependabot/vcpkg/update_checker.rb', line 18

def latest_version
  @latest_version ||= T.let(
    latest_version_finder.latest_version,
    T.nilable(T.any(String, Dependabot::Version))
  )
end

#updated_requirementsObject



34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
# File 'lib/dependabot/vcpkg/update_checker.rb', line 34

def updated_requirements
  return dependency.requirements unless latest_version

  dependency.requirements.filter_map do |requirement|
    source = T.cast(requirement[:source], T.nilable(T::Hash[Symbol, T.untyped]))
    requirement_constraint = requirement[:requirement]

    if source && registry_dependency?
      # For git dependencies (baselines), update the git ref with the commit SHA
      latest_commit_sha = latest_version_finder.latest_release_info&.details&.dig("commit_sha")
      requirement.merge(source: source.merge(ref: latest_commit_sha))
    elsif source.nil? && requirement_constraint
      # For port dependencies (no source but has requirement), update the version constraint
      requirement.merge(requirement: ">=#{latest_version}")
    else
      # Keep the original requirement unchanged for other cases
      requirement
    end
  end
end