Defined Type: rbenv::gem
- Defined in:
- manifests/gem.pp
Overview
Install a gem under rbenv for a certain user’s ruby version. Requires rbenv::compile for the passed in user and ruby version
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
# File 'manifests/gem.pp', line 4
define rbenv::gem(
$user,
$ruby,
$gem = $title,
$home = '',
$root = '',
$ensure = present
) {
# Workaround http://projects.puppetlabs.com/issues/9848
$home_path = $home ? { '' => "/home/${user}", default => $home }
$root_path = $root ? { '' => "${home_path}/.rbenv", default => $root }
if ! defined( Exec["rbenv::compile ${user} ${ruby}"] ) {
fail("Rbenv-Ruby ${ruby} for user ${user} not found in catalog")
}
rbenvgem {"${user}/${ruby}/${gem}/${ensure}":
ensure => $ensure,
user => $user,
gemname => $gem,
ruby => $ruby,
rbenv => "${root_path}/versions/${ruby}",
require => Exec["rbenv::compile ${user} ${ruby}"],
}
}
|