Class: Dependabot::Devbox::Package::PackageDetailsFetcher
- Inherits:
-
Object
- Object
- Dependabot::Devbox::Package::PackageDetailsFetcher
- Extended by:
- T::Sig
- Defined in:
- lib/dependabot/devbox/package/package_details_fetcher.rb
Constant Summary collapse
- SEARCH_URL =
T.let("https://search.devbox.sh/v1/search", String)
Instance Method Summary collapse
- #available_versions ⇒ Object
-
#initialize(dependency:) ⇒ PackageDetailsFetcher
constructor
A new instance of PackageDetailsFetcher.
Constructor Details
#initialize(dependency:) ⇒ PackageDetailsFetcher
Returns a new instance of PackageDetailsFetcher.
21 22 23 |
# File 'lib/dependabot/devbox/package/package_details_fetcher.rb', line 21 def initialize(dependency:) @dependency = dependency end |
Instance Method Details
#available_versions ⇒ Object
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
# File 'lib/dependabot/devbox/package/package_details_fetcher.rb', line 26 def available_versions package = fetch_package return [] unless package versions = package["versions"] return [] unless versions.is_a?(Array) versions.filter_map do |version_data| next unless version_data.is_a?(Hash) version_str = version_data["version"] next unless version_str.is_a?(String) && Devbox::Version.correct?(version_str) Dependabot::Package::PackageRelease.new( version: Devbox::Version.new(version_str), released_at: release_time(version_data) ) end rescue JSON::ParserError, Excon::Error::Timeout, Excon::Error::Socket [] end |