Class: Toys::Utils::Gems
- Inherits:
-
Object
- Object
- Toys::Utils::Gems
- Defined in:
- lib/toys/utils/gems.rb
Overview
A helper module that activates and installs gems.
This class is not loaded by default. Before using it directly, you should
require "toys/utils/gems"
Defined Under Namespace
Classes: ActivationFailedError, GemfileUpdateNeededError, InstallFailedError
Class Method Summary collapse
-
.activate(name, *requirements) ⇒ void
Activate the given gem.
Instance Method Summary collapse
-
#activate(name, *requirements) ⇒ void
Activate the given gem.
-
#initialize(input: $stdin, output: $stderr, suppress_confirm: false, default_confirm: true) ⇒ Gems
constructor
Create a new gem activator.
Constructor Details
#initialize(input: $stdin, output: $stderr, suppress_confirm: false, default_confirm: true) ⇒ Gems
Create a new gem activator.
84 85 86 87 88 89 90 91 92 93 94 |
# File 'lib/toys/utils/gems.rb', line 84 def initialize(input: $stdin, output: $stderr, suppress_confirm: false, default_confirm: true) require "toys/utils/terminal" require "toys/utils/exec" @terminal = Utils::Terminal.new(input: input, output: output) @exec = Utils::Exec.new @suppress_confirm = suppress_confirm ? true : false @default_confirm = default_confirm ? true : false end |
Class Method Details
.activate(name, *requirements) ⇒ void
This method returns an undefined value.
Activate the given gem. If it is not present, attempt to install it (or inform the user to update the bundle).
69 70 71 |
# File 'lib/toys/utils/gems.rb', line 69 def self.activate(name, *requirements) new.activate(name, *requirements) end |
Instance Method Details
#activate(name, *requirements) ⇒ void
This method returns an undefined value.
Activate the given gem. If it is not present, attempt to install it (or inform the user to update the bundle).
104 105 106 107 108 |
# File 'lib/toys/utils/gems.rb', line 104 def activate(name, *requirements) gem(name, *requirements) rescue ::Gem::LoadError => e handle_activation_error(e, name, requirements) end |