Defined Type: rbenv::bundle

Defined in:
manifests/bundle.pp

Overview

Parameters:

  • home (Any)
  • user (Any)
  • group (Any) (defaults to: $user)
  • content (Any) (defaults to: '')
  • gems (Any) (defaults to: '')


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"],
  }
}