MCPcopy Index your code
hub / github.com/pre-commit/pre-commit / install_environment

Function install_environment

pre_commit/languages/ruby.py:115–145  ·  view source on GitHub ↗
(
        prefix: Prefix, version: str, additional_dependencies: Sequence[str],
)

Source from the content-addressed store, hash-verified

113
114
115def install_environment(
116 prefix: Prefix, version: str, additional_dependencies: Sequence[str],
117) -> None:
118 envdir = lang_base.environment_dir(prefix, ENVIRONMENT_DIR, version)
119
120 if version != 'system': # pragma: win32 no cover
121 _install_rbenv(prefix, version)
122 with in_env(prefix, version):
123 # Need to call this before installing so rbenv's directories
124 # are set up
125 lang_base.setup_cmd(prefix, ('rbenv', 'init', '-'))
126 if version != C.DEFAULT:
127 _install_ruby(prefix, version)
128 # Need to call this after installing to set up the shims
129 lang_base.setup_cmd(prefix, ('rbenv', 'rehash'))
130
131 with in_env(prefix, version):
132 lang_base.setup_cmd(
133 prefix, ('gem', 'build', *prefix.star('.gemspec')),
134 )
135 lang_base.setup_cmd(
136 prefix,
137 (
138 'gem', 'install',
139 '--no-document', '--no-format-executable',
140 '--no-user-install',
141 '--install-dir', os.path.join(envdir, 'gems'),
142 '--bindir', os.path.join(envdir, 'gems', 'bin'),
143 *prefix.star('.gem'), *additional_dependencies,
144 ),
145 )

Callers

nothing calls this directly

Calls 4

_install_rbenvFunction · 0.85
_install_rubyFunction · 0.85
starMethod · 0.80
in_envFunction · 0.70

Tested by

no test coverage detected