1
2
3
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
30
31
32
33
34
35
36
|
# File 'manifests/bundle.pp', line 1
define rbenv::bundle(
$home,
$user,
$group = $user,
$content = '',
$gems = ''
) {
if ( $gems ) {
$gemfile = template('rbenv/Gemfile.erb')
} elsif ( $content ) {
$gemfile = $content
} else {
fail('bundle requires either a gem list or a Gemfile')
}
file {"${user}/Gemfile":
ensure => present,
path => "${home}/Gemfile",
owner => $user,
group => $group,
content => $gemfile,
backup => false,
require => Rbenv::Client[$user],
}
exec {"${user} bundle":
command => "bundle --binstubs=${home}/bin --path=${home}/.bundle",
cwd => $home,
user => $user,
group => $group,
path => "${home}/bin:${home}/.rbenv/shims:/bin:/usr/bin",
creates => "${home}/Gemfile.lock",
subscribe => File["${user}/Gemfile"],
}
}
|