Defined Type: rbenv::client

Defined in:
manifests/client.pp

Overview

Parameters:

  • user (Any)
  • home (Any)
  • ruby (Any)
  • owner (Any)
  • source (Any)
  • rc (Any) (defaults to: ".profile")


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
37
38
39
40
41
42
43
44
45
46
47
48
# File 'manifests/client.pp', line 1

define rbenv::client(
  $user,
  $home,
  $ruby,
  $owner,
  $source,
  $rc = ".profile"
) {
  if ! defined(Exec["rbenv::compile ${owner} ${ruby}"]) {
    fail("Ruby version ${ruby} is not compiled for ${owner}")
  }

  file {"${user}/.rbenv":
    ensure => link,
    path   => "${home}/.rbenv",
    target => "${source}/.rbenv",
  }

  file {"${user}/${rc}":
    ensure => link,
    path   => "${home}/${rc}",
    target => "${source}/${rc}",
  }

  file {"${user}/.gemrc":
    ensure => link,
    path   => "${home}/.gemrc",
    target => "${source}/.gemrc",
  }

  file {"${user}/.rbenv-version":
    ensure  => present,
    path    => "${home}/.rbenv-version",
    content => "$ruby\n",
  }

  file {"${user}/bin":
    ensure => directory,
    path   => "${home}/bin",
    owner  => $user,
  }

  file {"${user}/bin/rbenv":
    ensure => link,
    path   => "${home}/bin/rbenv",
    target => "${source}/.rbenv/bin/rbenv",
  }
}