Sha256: af824872c93a27bcea63cf0d31abb054b2e1c609f6d0bd8b31c62d45c9f6604d

Contents?: true

Size: 1.43 KB

Versions: 12

Compression:

Stored size: 1.43 KB

Contents

define rbenv::install(
  $user  = $title,
  $group = $user,
  $home  = '',
  $root  = '',
  $rc    = ".profile"
) {

  # Workaround http://projects.puppetlabs.com/issues/9848
  $home_path = $home ? { '' => "/home/${user}", default => $home }
  $root_path = $root ? { '' => "${home_path}/.rbenv", default => $root }

  $rbenvrc = "${home_path}/.rbenvrc"
  $shrc  = "${home_path}/${rc}"

  if ! defined( Class['rbenv::dependencies'] ) {
    require rbenv::dependencies
  }

  exec { "rbenv::checkout ${user}":
    command => "git clone git://github.com/sstephenson/rbenv.git ${root_path}",
    user    => $user,
    group   => $group,
    creates => $root_path,
    path    => ['/usr/bin', '/usr/sbin'],
    timeout => 100,
    cwd => $home_path,
    require => Package['git'],
  }

  file { "rbenv::rbenvrc ${user}":
    path    => $rbenvrc,
    owner   => $user,
    group   => $group,
    content => template('rbenv/dot.rbenvrc.erb'),
    require => Exec["rbenv::checkout ${user}"],
  }

  exec { "rbenv::shrc ${user}":
    command => "echo 'source ${rbenvrc}' >> ${shrc}",
    user    => $user,
    group   => $group,
    unless  => "grep -q rbenvrc ${shrc}",
    path    => ['/bin', '/usr/bin', '/usr/sbin'],
    require => File["rbenv::rbenvrc ${user}"],
  }

  file { "rbenv::cache-dir ${user}":
    owner   => $user,
    group   => $group,
    ensure  => directory,
    path    => "${root_path}/cache",
    require => Exec["rbenv::checkout ${user}"]
  }
}

Version data entries

12 entries across 12 versions & 2 rubygems

Version Path
bebox-0.0.1 lib/templates/puppet/step-0/modules/rbenv/manifests/install.pp
freighthop-0.6.1 modules/rbenv/manifests/install.pp
freighthop-0.6.0 modules/rbenv/manifests/install.pp
freighthop-0.5.2 modules/rbenv/manifests/install.pp
freighthop-0.5.1 modules/rbenv/manifests/install.pp
freighthop-0.5.0 modules/rbenv/manifests/install.pp
freighthop-0.4.1 modules/rbenv/manifests/install.pp
freighthop-0.4.0 modules/rbenv/manifests/install.pp
freighthop-0.3.3 modules/rbenv/manifests/install.pp
freighthop-0.3.2 modules/rbenv/manifests/install.pp
freighthop-0.3.1 modules/rbenv/manifests/install.pp
freighthop-0.3.0 modules/rbenv/manifests/install.pp