Class: Dependabot::Sbt::Package::PackageDetailsFetcher
- Inherits:
-
Maven::Shared::SharedPackageDetailsFetcher
- Object
- Maven::Shared::SharedPackageDetailsFetcher
- Dependabot::Sbt::Package::PackageDetailsFetcher
- Extended by:
- T::Sig
- Defined in:
- lib/dependabot/sbt/package/package_details_fetcher.rb
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
- #dependency_files_url(repository_url, version) ⇒ Object
- #dependency_parts ⇒ Object
- #fetch ⇒ Object
-
#initialize(dependency:, dependency_files:, credentials:) ⇒ PackageDetailsFetcher
constructor
A new instance of PackageDetailsFetcher.
- #releases ⇒ Object
- #repositories ⇒ Object
Constructor Details
#initialize(dependency:, dependency_files:, credentials:) ⇒ PackageDetailsFetcher
Returns a new instance of PackageDetailsFetcher.
28 29 30 31 32 33 34 35 36 |
# File 'lib/dependabot/sbt/package/package_details_fetcher.rb', line 28 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]) @repositories_cache = T.let(nil, T.nilable(T::Array[T::Hash[String, T.untyped]])) @repository_finder = T.let(nil, T.nilable(Sbt::FileParser::RepositoriesFinder)) @package_details = T.let(nil, T.nilable(Dependabot::Package::PackageDetails)) end |
Instance Attribute Details
#credentials ⇒ Object (readonly)
Returns the value of attribute credentials.
45 46 47 |
# File 'lib/dependabot/sbt/package/package_details_fetcher.rb', line 45 def credentials @credentials end |
#dependency ⇒ Object (readonly)
Returns the value of attribute dependency.
39 40 41 |
# File 'lib/dependabot/sbt/package/package_details_fetcher.rb', line 39 def dependency @dependency end |
#dependency_files ⇒ Object (readonly)
Returns the value of attribute dependency_files.
42 43 44 |
# File 'lib/dependabot/sbt/package/package_details_fetcher.rb', line 42 def dependency_files @dependency_files end |
Instance Method Details
#central_repo_url ⇒ Object
89 90 91 |
# File 'lib/dependabot/sbt/package/package_details_fetcher.rb', line 89 def central_repo_url Sbt::FileParser::RepositoriesFinder::CENTRAL_REPO_URL end |
#dependency_files_url(repository_url, version) ⇒ Object
97 98 99 100 101 102 |
# File 'lib/dependabot/sbt/package/package_details_fetcher.rb', line 97 def dependency_files_url(repository_url, version) _, artifact_id = dependency_parts base_url = dependency_base_url(repository_url) "#{base_url}/#{version}/#{artifact_id}-#{version}.jar" end |
#dependency_parts ⇒ Object
108 109 110 111 112 113 114 115 116 117 118 |
# File 'lib/dependabot/sbt/package/package_details_fetcher.rb', line 108 def dependency_parts @dependency_parts = T.let(@dependency_parts, T.nilable([String, String])) return @dependency_parts if @dependency_parts group_id, artifact_id = dependency.name.split(":") group_path = T.must(group_id).tr(".", "/") artifact_id = "#{artifact_id}_#{plugin_scala_version}_#{sbt_binary_version}" if sbt_plugin? @dependency_parts = [group_path, T.must(artifact_id)] end |
#fetch ⇒ Object
48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 |
# File 'lib/dependabot/sbt/package/package_details_fetcher.rb', line 48 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
68 69 70 |
# File 'lib/dependabot/sbt/package/package_details_fetcher.rb', line 68 def releases fetch.releases end |
#repositories ⇒ Object
74 75 76 77 78 79 80 81 82 83 84 85 86 |
# File 'lib/dependabot/sbt/package/package_details_fetcher.rb', line 74 def repositories return @repositories_cache if @repositories_cache @repositories_cache = credentials_repository_details sbt_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 |