Class: Paquette::GemServer::GemRepository
- Inherits:
-
Object
- Object
- Paquette::GemServer::GemRepository
- Defined in:
- lib/paquette/gem_server/gem_repository.rb
Overview
Abstract base class for gem repositories
Direct Known Subclasses
Instance Method Summary collapse
-
#compact_info(gem_name) ⇒ Object
Returns compact info for a specific gem (all versions).
-
#gem_dependencies(gem_name, version) ⇒ Object
Returns dependencies for a specific gem and version.
-
#gem_exists?(gem_name, version) ⇒ Boolean
Returns whether a gem file exists for the given name and version.
-
#gem_file_path(gem_name, version) ⇒ Object
Returns the gem file path for a specific gem and version.
-
#gem_names ⇒ Object
Returns an array of gem names available in the repository.
-
#gem_spec(gem_name, version) ⇒ Object
Returns the gem specification for a specific gem and version.
-
#gem_versions ⇒ Object
Returns an array of [name, version] pairs for all gems.
-
#initialize ⇒ GemRepository
constructor
A new instance of GemRepository.
-
#versions_for_gem(gem_name) ⇒ Object
Returns an array of versions for a specific gem.
Constructor Details
#initialize ⇒ GemRepository
Returns a new instance of GemRepository.
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)
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
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
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
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_names ⇒ Object
Returns an array of gem names available in the repository
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
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_versions ⇒ Object
Returns an array of [name, version] pairs for all gems
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
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 |