Class: Paquette::NpmServer::NpmRepository
- Inherits:
-
Object
- Object
- Paquette::NpmServer::NpmRepository
- Defined in:
- lib/paquette/npm_server/npm_repository.rb
Overview
Abstract base class for NPM package repositories
Direct Known Subclasses
Instance Method Summary collapse
-
#initialize ⇒ NpmRepository
constructor
A new instance of NpmRepository.
-
#package_dependencies(package_name, version) ⇒ Object
Returns dependencies for a specific package and version.
-
#package_exists?(package_name, version) ⇒ Boolean
Returns whether a package file exists for the given name and version.
-
#package_file_path(package_name, version) ⇒ Object
Returns the package file path for a specific package and version.
-
#package_info(package_name, version) ⇒ Object
Returns the package.json for a specific package and version.
-
#package_metadata(package_name) ⇒ Object
Returns the full package metadata for NPM registry format.
-
#package_names ⇒ Object
Returns an array of package names available in the repository.
-
#package_versions ⇒ Object
Returns an array of [name, version] pairs for all packages.
-
#versions_for_package(package_name) ⇒ Object
Returns an array of versions for a specific package.
Constructor Details
#initialize ⇒ NpmRepository
Returns a new instance of NpmRepository.
8 9 10 |
# File 'lib/paquette/npm_server/npm_repository.rb', line 8 def initialize raise NotImplementedError, "NpmRepository is an abstract class" end |
Instance Method Details
#package_dependencies(package_name, version) ⇒ Object
Returns dependencies for a specific package and version
43 44 45 |
# File 'lib/paquette/npm_server/npm_repository.rb', line 43 def package_dependencies(package_name, version) raise NotImplementedError, "Subclasses must implement package_dependencies" end |
#package_exists?(package_name, version) ⇒ Boolean
Returns whether a package file exists for the given name and version
33 34 35 |
# File 'lib/paquette/npm_server/npm_repository.rb', line 33 def package_exists?(package_name, version) raise NotImplementedError, "Subclasses must implement package_exists?" end |
#package_file_path(package_name, version) ⇒ Object
Returns the package file path for a specific package and version
28 29 30 |
# File 'lib/paquette/npm_server/npm_repository.rb', line 28 def package_file_path(package_name, version) raise NotImplementedError, "Subclasses must implement package_file_path" end |
#package_info(package_name, version) ⇒ Object
Returns the package.json for a specific package and version
38 39 40 |
# File 'lib/paquette/npm_server/npm_repository.rb', line 38 def package_info(package_name, version) raise NotImplementedError, "Subclasses must implement package_info" end |
#package_metadata(package_name) ⇒ Object
Returns the full package metadata for NPM registry format
48 49 50 |
# File 'lib/paquette/npm_server/npm_repository.rb', line 48 def (package_name) raise NotImplementedError, "Subclasses must implement package_metadata" end |
#package_names ⇒ Object
Returns an array of package names available in the repository
13 14 15 |
# File 'lib/paquette/npm_server/npm_repository.rb', line 13 def package_names raise NotImplementedError, "Subclasses must implement package_names" end |
#package_versions ⇒ Object
Returns an array of [name, version] pairs for all packages
18 19 20 |
# File 'lib/paquette/npm_server/npm_repository.rb', line 18 def package_versions raise NotImplementedError, "Subclasses must implement package_versions" end |
#versions_for_package(package_name) ⇒ Object
Returns an array of versions for a specific package
23 24 25 |
# File 'lib/paquette/npm_server/npm_repository.rb', line 23 def versions_for_package(package_name) raise NotImplementedError, "Subclasses must implement versions_for_package" end |