Class: Dependabot::Vcpkg::UpdateChecker::LatestVersionFinder
- Inherits:
-
Package::PackageLatestVersionFinder
- Object
- Package::PackageLatestVersionFinder
- Dependabot::Vcpkg::UpdateChecker::LatestVersionFinder
- Extended by:
- T::Sig
- Defined in:
- lib/dependabot/vcpkg/update_checker/latest_version_finder.rb
Instance Method Summary collapse
- #available_versions ⇒ Object
-
#fetch_latest_version(language_version: nil) ⇒ Object
rubocop:disable Lint/UnusedMethodArgument.
- #latest_release_info ⇒ Object
- #package_details ⇒ Object
- #tag_for_commit_sha(commit_sha) ⇒ Object
Instance Method Details
#available_versions ⇒ Object
58 59 60 61 62 63 64 65 66 67 68 69 70 71 |
# File 'lib/dependabot/vcpkg/update_checker/latest_version_finder.rb', line 58 def available_versions releases = super return releases if registry_dependency? current = current_version return releases unless releases && current current_scheme = declared_scheme(releases, current) releases.select do |release| version = release.version version.is_a?(Dependabot::Vcpkg::Version) && Dependabot::Vcpkg::Version.comparable?(version, scheme_of(release), current, current_scheme) end end |
#fetch_latest_version(language_version: nil) ⇒ Object
rubocop:disable Lint/UnusedMethodArgument
32 33 34 |
# File 'lib/dependabot/vcpkg/update_checker/latest_version_finder.rb', line 32 def fetch_latest_version(language_version: nil) # rubocop:disable Lint/UnusedMethodArgument latest_release_info&.version end |
#latest_release_info ⇒ Object
37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
# File 'lib/dependabot/vcpkg/update_checker/latest_version_finder.rb', line 37 def latest_release_info @latest_release_info ||= T.let( begin releases = available_versions return unless releases releases = filter_yanked_versions(releases) releases = filter_by_cooldown(releases) releases = filter_ignored_versions(releases) releases.max_by(&:version) end, T.nilable(Dependabot::Package::PackageRelease) ) end |
#package_details ⇒ Object
20 21 22 23 24 25 |
# File 'lib/dependabot/vcpkg/update_checker/latest_version_finder.rb', line 20 def package_details @package_details ||= T.let( Package::PackageDetailsFetcher.new(dependency: dependency).fetch, T.nilable(Dependabot::Package::PackageDetails) ) end |
#tag_for_commit_sha(commit_sha) ⇒ Object
75 76 77 78 79 80 |
# File 'lib/dependabot/vcpkg/update_checker/latest_version_finder.rb', line 75 def tag_for_commit_sha(commit_sha) package_details &.releases &.find { |release| T.cast(release.details["commit_sha"], T.nilable(String)) == commit_sha } &.tag end |