Class: Dependabot::Maven::Package::PackageDetailsFetcher
- Inherits:
-
Shared::SharedPackageDetailsFetcher
- Object
- Shared::SharedPackageDetailsFetcher
- Dependabot::Maven::Package::PackageDetailsFetcher
- Extended by:
- T::Sig
- Defined in:
- lib/dependabot/maven/package/package_details_fetcher.rb
Constant Summary
Constants inherited from Shared::SharedPackageDetailsFetcher
Shared::SharedPackageDetailsFetcher::AUTH_HEADERS_KEY, Shared::SharedPackageDetailsFetcher::DEFAULT_CENTRAL_REPO_URL, Shared::SharedPackageDetailsFetcher::MAVEN_METADATA_XML, Shared::SharedPackageDetailsFetcher::REPOSITORY_TYPE, Shared::SharedPackageDetailsFetcher::URL_KEY
Instance Attribute Summary collapse
-
#credentials ⇒ Object
readonly
Returns the value of attribute credentials.
-
#dependency ⇒ Object
readonly
Returns the value of attribute dependency.
-
#dependency_files ⇒ Object
readonly
Returns the value of attribute dependency_files.
Instance Method Summary collapse
- #central_repo_url ⇒ Object
- #fetch ⇒ Object
-
#initialize(dependency:, dependency_files:, credentials:) ⇒ PackageDetailsFetcher
constructor
A new instance of PackageDetailsFetcher.
- #releases ⇒ Object
- #repositories ⇒ Object
Methods inherited from Shared::SharedPackageDetailsFetcher
#auth_headers, #auth_headers_finder, #central_repo_urls, #check_response, #credentials_repository_details, #dependency_base_url, #dependency_files_url, #dependency_metadata, #dependency_metadata_from_html, #dependency_metadata_url, #dependency_parts, #extract_metadata_from_xml, #extract_version_details_from_html, #fetch_dependency_metadata, #fetch_dependency_metadata_from_html, #forbidden_urls, #handle_registry_error, #released?, #version_class, #versions, #versions_details_from_xml, #versions_details_hash_from_html
Constructor Details
#initialize(dependency:, dependency_files:, credentials:) ⇒ PackageDetailsFetcher
Returns a new instance of PackageDetailsFetcher.
29 30 31 32 33 34 35 36 37 38 |
# File 'lib/dependabot/maven/package/package_details_fetcher.rb', line 29 def initialize(dependency:, dependency_files:, credentials:) @dependency = T.let(dependency, Dependabot::Dependency) @dependency_files = T.let(dependency_files, T::Array[Dependabot::DependencyFile]) @credentials = T.let(credentials, T::Array[Dependabot::Credential]) @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_cache = T.let(nil, T.nilable(T::Array[T::Hash[String, T.untyped]])) @package_details = T.let(nil, T.nilable(Dependabot::Package::PackageDetails)) end |
Instance Attribute Details
#credentials ⇒ Object (readonly)
Returns the value of attribute credentials.
47 48 49 |
# File 'lib/dependabot/maven/package/package_details_fetcher.rb', line 47 def credentials @credentials end |
#dependency ⇒ Object (readonly)
Returns the value of attribute dependency.
41 42 43 |
# File 'lib/dependabot/maven/package/package_details_fetcher.rb', line 41 def dependency @dependency end |
#dependency_files ⇒ Object (readonly)
Returns the value of attribute dependency_files.
44 45 46 |
# File 'lib/dependabot/maven/package/package_details_fetcher.rb', line 44 def dependency_files @dependency_files end |
Instance Method Details
#central_repo_url ⇒ Object
90 91 92 |
# File 'lib/dependabot/maven/package/package_details_fetcher.rb', line 90 def central_repo_url repository_finder.central_repo_url end |
#fetch ⇒ Object
50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 |
# File 'lib/dependabot/maven/package/package_details_fetcher.rb', line 50 def fetch return @package_details if @package_details releases = versions.map do |version_details| Dependabot::Package::PackageRelease.new( version: version_details.fetch(:version), released_at: version_details.fetch(:release_date, nil), url: version_details.fetch(:source_url) ) end @package_details = Dependabot::Package::PackageDetails.new( dependency: dependency, releases: releases ) @package_details end |
#releases ⇒ Object
70 71 72 |
# File 'lib/dependabot/maven/package/package_details_fetcher.rb', line 70 def releases fetch.releases end |
#repositories ⇒ Object
76 77 78 79 80 81 82 83 84 85 86 |
# File 'lib/dependabot/maven/package/package_details_fetcher.rb', line 76 def repositories return @repositories_cache if @repositories_cache @repositories_cache = credentials_repository_details pom_repository_details.each do |repo| @repositories_cache << repo unless @repositories_cache.any? do |r| r[URL_KEY] == repo[URL_KEY] end end @repositories_cache end |