Module: Toys::StandardMixins::Gems

Includes:
Mixin
Defined in:
lib/toys/standard_mixins/gems.rb

Overview

Provides methods for installing and activating third-party gems. When this mixin is included, it provides a gem method that has the same effect as Utils::Gems#activate, so you can ensure a gem is present when running a tool. A gem directive is likewise added to the tool DSL itself, so you can also ensure a gem is present when defining a tool.

You may make these methods available to your tool by including the following directive in your tool configuration:

include :gems

If you pass additional options to the include directive, those are used to initialize settings for the gem install process. For example:

include :gems, output: $stdout, default_confirm: false

This is a frontend for Utils::Gems. More information is available in that class's documentation.

Instance Method Summary collapse

Instance Method Details

#gem(name, *requirements) ⇒ Object

Activate the given gem.



83
84
85
# File 'lib/toys/standard_mixins/gems.rb', line 83

def gem(name, *requirements)
  self.class.gems.activate(name, *requirements)
end

#gemsObject

Returns a tool-wide instance of Utils::Gems.



73
74
75
# File 'lib/toys/standard_mixins/gems.rb', line 73

def gems
  self.class.gems
end