Class: Dependabot::Vcpkg::Package::PackageDetailsFetcher

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(dependency:, versions_database: Dependabot::Vcpkg::Package::VersionsDatabase.new) ⇒ PackageDetailsFetcher

Returns a new instance of PackageDetailsFetcher.



30
31
32
33
# File 'lib/dependabot/vcpkg/package/package_details_fetcher.rb', line 30

def initialize(dependency:, versions_database: Dependabot::Vcpkg::Package::VersionsDatabase.new)
  @dependency = dependency
  @versions_database = versions_database
end

Instance Attribute Details

#dependencyObject (readonly)

Returns the value of attribute dependency.



36
37
38
# File 'lib/dependabot/vcpkg/package/package_details_fetcher.rb', line 36

def dependency
  @dependency
end

#versions_databaseObject (readonly)

Returns the value of attribute versions_database.



39
40
41
# File 'lib/dependabot/vcpkg/package/package_details_fetcher.rb', line 39

def versions_database
  @versions_database
end

Instance Method Details

#fetchObject



42
43
44
45
46
47
48
49
50
51
52
53
54
# File 'lib/dependabot/vcpkg/package/package_details_fetcher.rb', line 42

def fetch
  if registry_dependency?
    fetch_registry_releases
  else
    fetch_port_releases
  end
rescue Dependabot::GitDependenciesNotReachable
  # Fallback to empty releases if git repo is not reachable
  Dependabot::Package::PackageDetails.new(
    dependency: dependency,
    releases: []
  )
end