- Defined in:
Ensures that a bundle is installed and set up when this tool is run.
The following parameters can be passed when including this mixin:
true, installs the bundle immediately, when defining the tool. If
false(the default), installs the bundle just before the tool runs.
:groups(Array<String>) The groups to include in setup.
:gemfile_path(String) The path to the Gemfile to use. If
nilor not given, the
:search_dirswill be searched for a Gemfile.
:search_dirs(String,Symbol,Array<String,Symbol>) Directories to search for a Gemfile.
You can pass full directory paths, and/or any of the following:
:context- the current context directory.
:current- the current working directory.
:toys- the Toys directory containing the tool definition, and any of its parents within the Toys directory hierarchy.
The default is to search
[:toys, :context, :current]in that order. See DEFAULT_SEARCH_DIRS.
For most directories, the bundler mixin will look for the files ".gems.rb", "gems.rb", and "Gemfile", in that order. In
:toysdirectories, it will look only for ".gems.rb" and "Gemfile", in that order. These can be overridden by setting the
:gemfile_names(Array<String>) File names that are recognized as Gemfiles when searching in directories other than Toys directories. Defaults to Utils::Gems::DEFAULT_GEMFILE_NAMES.
:toys_gemfile_names(Array<String>) File names that are recognized as Gemfiles when wearching in Toys directories. Defaults to DEFAULT_TOYS_GEMFILE_NAMES.
:on_missing(Symbol) What to do if a needed gem is not installed.
:confirm- prompt the user on whether to install (default).
:error- raise an exception.
:install- just install the gem.
:on_conflict(Symbol) What to do if bundler has already been run with a different Gemfile.
:error- raise an exception (default).
:ignore- just silently proceed without bundling again.
:warn- print a warning and proceed without bundling again.
:retries(Integer) Number of times to retry bundler operations (optional)
:terminal(Toys::Utils::Terminal) Terminal to use (optional)
:input(IO) Input IO (optional, defaults to STDIN)
:output(IO) Output IO (optional, defaults to STDOUT)
Constant Summary collapse
- DEFAULT_SEARCH_DIRS =
Default search directories for Gemfiles.
[:toys, :context, :current].freeze
- DEFAULT_TOYS_GEMFILE_NAMES =
The gemfile names that are searched by default in Toys directories.