Class: MilkTea::PackageRegistryMetadataProvider
- Inherits:
-
Object
- Object
- MilkTea::PackageRegistryMetadataProvider
- Defined in:
- lib/milk_tea/packages/registry_metadata_provider.rb
Instance Method Summary collapse
- #available_versions(package_name) ⇒ Object
-
#initialize(registry_store: PackageRegistryStore.new) ⇒ PackageRegistryMetadataProvider
constructor
A new instance of PackageRegistryMetadataProvider.
- #manifest_for(package_name, version) ⇒ Object
Constructor Details
#initialize(registry_store: PackageRegistryStore.new) ⇒ PackageRegistryMetadataProvider
Returns a new instance of PackageRegistryMetadataProvider.
7 8 9 |
# File 'lib/milk_tea/packages/registry_metadata_provider.rb', line 7 def initialize(registry_store: PackageRegistryStore.new) @registry_store = registry_store end |
Instance Method Details
#available_versions(package_name) ⇒ Object
11 12 13 14 15 16 17 |
# File 'lib/milk_tea/packages/registry_metadata_provider.rb', line 11 def available_versions(package_name) @registry_store.available_versions(package_name).map do |version_text| PackageVersion.parse(version_text, label: "registry package #{package_name} version") end.sort.reverse rescue PackageRegistryStoreError, PackageVersionError => e raise PackageRegistryMetadataProviderError, e. end |
#manifest_for(package_name, version) ⇒ Object
19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/milk_tea/packages/registry_metadata_provider.rb', line 19 def manifest_for(package_name, version) version_text = version.to_s package_root = @registry_store.published_root_for(package_name, version_text, sync: true) manifest = PackageManifest.load(package_root) if manifest.package_name != package_name || manifest.package_version != version_text raise PackageRegistryMetadataProviderError, "registry package at #{manifest.manifest_path} resolved to #{manifest.package_name}@#{manifest.package_version.inspect}; expected #{package_name}@#{version_text}" end manifest rescue PackageManifestError, PackageRegistryStoreError => e raise PackageRegistryMetadataProviderError, e. end |