Class: Dependabot::Pub::Package::PackageDetailsFetcher
- Inherits:
-
Object
- Object
- Dependabot::Pub::Package::PackageDetailsFetcher
- Extended by:
- T::Sig
- Includes:
- Helpers
- Defined in:
- lib/dependabot/pub/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.
-
#options ⇒ Object
readonly
Returns the value of attribute options.
Instance Method Summary collapse
-
#initialize(dependency:, dependency_files:, credentials:, ignored_versions: [], security_advisories: [], options: {}) ⇒ PackageDetailsFetcher
constructor
A new instance of PackageDetailsFetcher.
- #package_details_metadata ⇒ Object
- #report ⇒ Object
Methods included from Helpers
pub_helpers_path, run_infer_sdk_versions
Constructor Details
#initialize(dependency:, dependency_files:, credentials:, ignored_versions: [], security_advisories: [], options: {}) ⇒ PackageDetailsFetcher
Returns a new instance of PackageDetailsFetcher.
50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 |
# File 'lib/dependabot/pub/package/package_details_fetcher.rb', line 50 def initialize( dependency:, dependency_files:, credentials:, ignored_versions: [], security_advisories: [], options: {} ) @dependency = dependency @dependency_files = dependency_files @credentials = credentials @ignored_versions = ignored_versions @security_advisories = security_advisories @options = end |
Instance Attribute Details
#credentials ⇒ Object (readonly)
Returns the value of attribute credentials.
37 38 39 |
# File 'lib/dependabot/pub/package/package_details_fetcher.rb', line 37 def credentials @credentials end |
#dependency ⇒ Object (readonly)
Returns the value of attribute dependency.
28 29 30 |
# File 'lib/dependabot/pub/package/package_details_fetcher.rb', line 28 def dependency @dependency end |
#dependency_files ⇒ Object (readonly)
Returns the value of attribute dependency_files.
31 32 33 |
# File 'lib/dependabot/pub/package/package_details_fetcher.rb', line 31 def dependency_files @dependency_files end |
#options ⇒ Object (readonly)
Returns the value of attribute options.
34 35 36 |
# File 'lib/dependabot/pub/package/package_details_fetcher.rb', line 34 def @options end |
Instance Method Details
#package_details_metadata ⇒ Object
75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 |
# File 'lib/dependabot/pub/package/package_details_fetcher.rb', line 75 def package_releases = [] T.let({}, T::Hash[String, T.untyped]) Dependabot.logger.error("Initializing package metadata for \"#{@dependency.name}\"") response = (dependency) return package_releases if response.status >= 500 begin = JSON.parse(response.body) ["versions"].select do |v| package_releases << package_release( version: v["version"], publish_date: Time.parse(v["published"]) ) end package_releases rescue JSON::ParserError Dependabot.logger.error("Failed to parse package metadata") package_releases end rescue StandardError => e Dependabot.logger.error("Failed to fetch package metadata #{e.}") package_releases end |
#report ⇒ Object
67 68 69 70 71 72 |
# File 'lib/dependabot/pub/package/package_details_fetcher.rb', line 67 def report @report ||= T.let( dependency_services_report, T.nilable(T::Array[T::Hash[String, T.untyped]]) ) end |