Class: Paquette::GemServer::GemRepository

Inherits:
Object
  • Object
show all
Defined in:
lib/paquette/gem_server/gem_repository.rb

Overview

Abstract base class for gem repositories

Direct Known Subclasses

DirectoryGemRepository

Instance Method Summary collapse

Constructor Details

#initializeGemRepository

Returns a new instance of GemRepository.

Raises:

  • (NotImplementedError)


8
9
10
# File 'lib/paquette/gem_server/gem_repository.rb', line 8

def initialize
  raise NotImplementedError, "GemRepository is an abstract class"
end

Instance Method Details

#compact_info(gem_name) ⇒ Object

Returns compact info for a specific gem (all versions)

Raises:

  • (NotImplementedError)


48
49
50
# File 'lib/paquette/gem_server/gem_repository.rb', line 48

def compact_info(gem_name)
  raise NotImplementedError, "Subclasses must implement compact_info"
end

#gem_dependencies(gem_name, version) ⇒ Object

Returns dependencies for a specific gem and version

Raises:

  • (NotImplementedError)


43
44
45
# File 'lib/paquette/gem_server/gem_repository.rb', line 43

def gem_dependencies(gem_name, version)
  raise NotImplementedError, "Subclasses must implement gem_dependencies"
end

#gem_exists?(gem_name, version) ⇒ Boolean

Returns whether a gem file exists for the given name and version

Returns:

  • (Boolean)

Raises:

  • (NotImplementedError)


33
34
35
# File 'lib/paquette/gem_server/gem_repository.rb', line 33

def gem_exists?(gem_name, version)
  raise NotImplementedError, "Subclasses must implement gem_exists?"
end

#gem_file_path(gem_name, version) ⇒ Object

Returns the gem file path for a specific gem and version

Raises:

  • (NotImplementedError)


28
29
30
# File 'lib/paquette/gem_server/gem_repository.rb', line 28

def gem_file_path(gem_name, version)
  raise NotImplementedError, "Subclasses must implement gem_file_path"
end

#gem_namesObject

Returns an array of gem names available in the repository

Raises:

  • (NotImplementedError)


13
14
15
# File 'lib/paquette/gem_server/gem_repository.rb', line 13

def gem_names
  raise NotImplementedError, "Subclasses must implement gem_names"
end

#gem_spec(gem_name, version) ⇒ Object

Returns the gem specification for a specific gem and version

Raises:

  • (NotImplementedError)


38
39
40
# File 'lib/paquette/gem_server/gem_repository.rb', line 38

def gem_spec(gem_name, version)
  raise NotImplementedError, "Subclasses must implement gem_spec"
end

#gem_versionsObject

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

Raises:

  • (NotImplementedError)


18
19
20
# File 'lib/paquette/gem_server/gem_repository.rb', line 18

def gem_versions
  raise NotImplementedError, "Subclasses must implement gem_versions"
end

#versions_for_gem(gem_name) ⇒ Object

Returns an array of versions for a specific gem

Raises:

  • (NotImplementedError)


23
24
25
# File 'lib/paquette/gem_server/gem_repository.rb', line 23

def versions_for_gem(gem_name)
  raise NotImplementedError, "Subclasses must implement versions_for_gem"
end