Class: Dependabot::Maven::Package::PackageDetailsFetcher
- Inherits:
-
Object
- Object
- Dependabot::Maven::Package::PackageDetailsFetcher
- Extended by:
- T::Sig
- Defined in:
- lib/dependabot/maven/package/package_details_fetcher.rb
Constant Summary collapse
- META_DATE_XML =
T.let("maven-metadata.xml", String)
- REPOSITORY_TYPE =
T.let("maven_repository", String)
- URL_KEY =
T.let("url", String)
- AUTH_HEADERS_KEY =
T.let("auth_headers", String)
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.
-
#forbidden_urls ⇒ Object
readonly
Returns the value of attribute forbidden_urls.
Instance Method Summary collapse
- #fetch ⇒ Object
-
#initialize(dependency:, dependency_files:, credentials:) ⇒ PackageDetailsFetcher
constructor
rubocop:disable Metrics/AbcSize.
- #released?(version) ⇒ Boolean
- #releases ⇒ Object
Constructor Details
#initialize(dependency:, dependency_files:, credentials:) ⇒ PackageDetailsFetcher
rubocop:disable Metrics/AbcSize
34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
# File 'lib/dependabot/maven/package/package_details_fetcher.rb', line 34 def initialize(dependency:, dependency_files:, credentials:) # rubocop:disable Metrics/AbcSize @dependency = dependency @dependency_files = dependency_files @credentials = credentials @forbidden_urls = T.let([], T::Array[String]) @pom_repository_details = T.let(nil, T.nilable(T::Array[T::Hash[String, T.untyped]])) @dependency_metadata = T.let({}, T::Hash[T.untyped, Nokogiri::XML::Document]) @dependency_metadata_from_html = T.let({}, T::Hash[T.untyped, Nokogiri::HTML::Document]) @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[Dependabot::Version, T::Boolean]) @auth_headers_finder = T.let(nil, T.nilable(Utils::AuthHeadersFinder)) @dependency_parts = T.let(nil, T.nilable([String, String])) @version_details = T.let(nil, T.nilable(T::Array[T::Hash[Symbol, 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.
59 60 61 |
# File 'lib/dependabot/maven/package/package_details_fetcher.rb', line 59 def credentials @credentials end |
#dependency ⇒ Object (readonly)
Returns the value of attribute dependency.
53 54 55 |
# File 'lib/dependabot/maven/package/package_details_fetcher.rb', line 53 def dependency @dependency end |
#dependency_files ⇒ Object (readonly)
Returns the value of attribute dependency_files.
56 57 58 |
# File 'lib/dependabot/maven/package/package_details_fetcher.rb', line 56 def dependency_files @dependency_files end |
#forbidden_urls ⇒ Object (readonly)
Returns the value of attribute forbidden_urls.
62 63 64 |
# File 'lib/dependabot/maven/package/package_details_fetcher.rb', line 62 def forbidden_urls @forbidden_urls end |
Instance Method Details
#fetch ⇒ Object
65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 |
# File 'lib/dependabot/maven/package/package_details_fetcher.rb', line 65 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 |
#released?(version) ⇒ Boolean
90 91 92 |
# File 'lib/dependabot/maven/package/package_details_fetcher.rb', line 90 def released?(version) released_check?(version) end |
#releases ⇒ Object
85 86 87 |
# File 'lib/dependabot/maven/package/package_details_fetcher.rb', line 85 def releases fetch.releases end |