Class: Appraisal::GemManager::Factory
- Inherits:
-
Object
- Object
- Appraisal::GemManager::Factory
- Defined in:
- lib/appraisal/gem_manager/factory.rb
Overview
Factory for creating gem manager adapters. Raises errors for unknown or unavailable gem managers.
Constant Summary collapse
- ADAPTERS =
{ "bundler" => BundlerAdapter, "ore" => OreAdapter }.freeze
- DEFAULT_MANAGER =
"bundler"
Class Method Summary collapse
-
.available_managers ⇒ Array<String>
List of available gem manager names.
-
.create(gemfile_path, project_root, manager: nil) ⇒ Base
Create a gem manager adapter.
Class Method Details
.available_managers ⇒ Array<String>
List of available gem manager names
40 41 42 |
# File 'lib/appraisal/gem_manager/factory.rb', line 40 def available_managers ADAPTERS.keys end |
.create(gemfile_path, project_root, manager: nil) ⇒ Base
Create a gem manager adapter
26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/appraisal/gem_manager/factory.rb', line 26 def create(gemfile_path, project_root, manager: nil) manager_name = normalize_manager_name(manager) adapter_class = ADAPTERS.fetch(manager_name) do raise UnknownGemManagerError.new(manager_name, ADAPTERS.keys) end adapter = adapter_class.new(gemfile_path, project_root) adapter.validate_availability! adapter end |