Class: Paquette::NpmServer::NpmRepository

Inherits:
Object
  • Object
show all
Defined in:
lib/paquette/npm_server/npm_repository.rb

Overview

Abstract base class for NPM package repositories

Direct Known Subclasses

DirectoryNpmRepository

Instance Method Summary collapse

Constructor Details

#initializeNpmRepository

Returns a new instance of NpmRepository.

Raises:

  • (NotImplementedError)


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

Raises:

  • (NotImplementedError)


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

Returns:

  • (Boolean)

Raises:

  • (NotImplementedError)


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

Raises:

  • (NotImplementedError)


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

Raises:

  • (NotImplementedError)


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

Raises:

  • (NotImplementedError)


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_namesObject

Returns an array of package names available in the repository

Raises:

  • (NotImplementedError)


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_versionsObject

Returns an array of [name, version] pairs for all packages

Raises:

  • (NotImplementedError)


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

Raises:

  • (NotImplementedError)


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