Class: Dependabot::Maven::UpdateChecker::VersionFinder

Inherits:
Shared::SharedVersionFinder show all
Extended by:
T::Sig
Defined in:
lib/dependabot/maven/update_checker/version_finder.rb

Constant Summary

Constants inherited from Shared::SharedVersionFinder

Shared::SharedVersionFinder::MAVEN_PRE_RELEASE_QUALIFIERS, Shared::SharedVersionFinder::MAVEN_RELEASE_QUALIFIERS, Shared::SharedVersionFinder::MAVEN_SNAPSHOT_QUALIFIER

Instance Method Summary collapse

Methods inherited from Shared::SharedVersionFinder

#matches_dependency_version_type?

Constructor Details

#initialize(dependency:, dependency_files:, credentials:, ignored_versions:, security_advisories:, cooldown_options: nil, raise_on_ignored: false) ⇒ VersionFinder

Returns a new instance of VersionFinder.



29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# File 'lib/dependabot/maven/update_checker/version_finder.rb', line 29

def initialize(
  dependency:,
  dependency_files:,
  credentials:,
  ignored_versions:,
  security_advisories:,
  cooldown_options: nil,
  raise_on_ignored: false
)
  @forbidden_urls      = T.let([], T::Array[String])
  @dependency_metadata = T.let({}, T::Hash[T.untyped, Nokogiri::XML::Document])
  @auth_headers_finder = T.let(nil, T.nilable(Utils::AuthHeadersFinder))
  @pom_repository_details = T.let(nil, T.nilable(T::Array[T::Hash[String, T.untyped]]))
  @repository_finder = T.let(nil, T.nilable(Maven::FileParser::RepositoriesFinder))
  @repositories = T.let(nil, T.nilable(T::Array[T::Hash[String, T.untyped]]))
  @released_check = T.let({}, T::Hash[Version, T::Boolean])
  @package_details_fetcher = T.let(nil, T.nilable(Package::PackageDetailsFetcher))
  @package_details = T.let(nil, T.nilable(Dependabot::Package::PackageDetails))
  super
end

Instance Method Details

#latest_version_detailsObject



61
62
63
64
# File 'lib/dependabot/maven/update_checker/version_finder.rb', line 61

def latest_version_details
  release = fetch_latest_release
  release&.version ? { version: release.version, source_url: release.url } : nil
end

#lowest_security_fix_version_detailsObject



67
68
69
70
# File 'lib/dependabot/maven/update_checker/version_finder.rb', line 67

def lowest_security_fix_version_details
  release = fetch_lowest_security_fix_release
  release&.version ? { version: release.version, source_url: release.url } : nil
end

#package_detailsObject



51
52
53
# File 'lib/dependabot/maven/update_checker/version_finder.rb', line 51

def package_details
  @package_details ||= package_details_fetcher.fetch
end

#releasesObject



56
57
58
# File 'lib/dependabot/maven/update_checker/version_finder.rb', line 56

def releases
  (package_details&.releases || []).reverse
end