Class: Dependabot::DotnetSdk::Package::PackageDetailsFetcher

Inherits:
Object
  • Object
show all
Extended by:
T::Sig
Defined in:
lib/dependabot/dotnet_sdk/package/package_details_fetcher.rb

Constant Summary collapse

RELEASES_INDEX_URL =
"https://dotnetcli.blob.core.windows.net/dotnet/release-metadata/releases-index.json"

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(dependency:) ⇒ PackageDetailsFetcher

Returns a new instance of PackageDetailsFetcher.



23
24
25
26
# File 'lib/dependabot/dotnet_sdk/package/package_details_fetcher.rb', line 23

def initialize(dependency:)
  @dependency = dependency
  @package_details = T.let(nil, T.nilable(Dependabot::Package::PackageDetails))
end

Instance Attribute Details

#dependencyObject (readonly)

Returns the value of attribute dependency.



29
30
31
# File 'lib/dependabot/dotnet_sdk/package/package_details_fetcher.rb', line 29

def dependency
  @dependency
end

Instance Method Details

#fetchObject



34
35
36
37
38
39
40
41
42
43
44
45
46
47
# File 'lib/dependabot/dotnet_sdk/package/package_details_fetcher.rb', line 34

def fetch
  package_releases = releases.filter_map do |release|
    version = release["version"]
    release_date = release["release-date"]
    next unless version && release_date

    package_release(
      version: version,
      released_at: Time.parse(release_date)
    )
  end

  package_details(package_releases)
end