Class: Dependabot::GitSubmodules::UpdateChecker::LatestVersionFinder

Inherits:
Package::PackageLatestVersionFinder
  • Object
show all
Extended by:
T::Sig
Defined in:
lib/dependabot/git_submodules/update_checker/latest_version_finder.rb

Instance Method Summary collapse

Instance Method Details

#apply_post_fetch_latest_versions_filter(releases) ⇒ Object



52
53
54
55
56
57
58
59
60
61
62
63
64
# File 'lib/dependabot/git_submodules/update_checker/latest_version_finder.rb', line 52

def apply_post_fetch_latest_versions_filter(releases)
  if releases.empty?
    Dependabot.logger.info("No releases found for #{dependency.name} after applying filters.")
    return releases
  end

  releases << Dependabot::Package::PackageRelease.new(
    version: GitSubmodules::Version.new("0.0.0-0.0"), # Lower than versions from package_details_fetcher
    tag: dependency.version
  )

  releases
end

#latest_tag(language_version: nil) ⇒ Object

rubocop:disable Lint/UnusedMethodArgument



25
26
27
28
29
30
31
32
33
34
# File 'lib/dependabot/git_submodules/update_checker/latest_version_finder.rb', line 25

def latest_tag(language_version: nil) # rubocop:disable Lint/UnusedMethodArgument
  releases = version_list

  releases = filter_by_cooldown(T.must(releases))
  releases = filter_ignored_versions(releases)

  # if there are no releases after applying filters, we fallback to the current tag to avoid empty results
  releases = apply_post_fetch_latest_versions_filter(releases)
  releases.max_by(&:version)&.tag
end

#package_detailsObject



67
# File 'lib/dependabot/git_submodules/update_checker/latest_version_finder.rb', line 67

def package_details; end

#version_listObject



37
38
39
40
41
42
43
44
45
46
# File 'lib/dependabot/git_submodules/update_checker/latest_version_finder.rb', line 37

def version_list
  @version_list ||=
    T.let(
      Package::PackageDetailsFetcher.new(
        dependency: dependency,
        credentials: credentials
      ).available_versions,
      T.nilable(T::Array[Dependabot::Package::PackageRelease])
    )
end