Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Installs Ruby versions with Boxen
Ruby Puppet Shell
Pull request Compare This branch is 8 commits ahead, 194 commits behind boxen:master.

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
files
lib/puppet
manifests
script
spec
templates
.gitignore
.travis.yml
CONTRIBUTING.md
Gemfile
Gemfile.lock
LICENSE
README.md

README.md

Ruby Puppet Module for Boxen

Build Status

Requires the following boxen modules:

  • boxen >= 3.2.0
  • repository >= 2.1
  • xquartz (OS X only)
  • autoconf (some ruby versions)
  • openssl (ruby versions >= 2.0.0)

Usage

# Set the global default ruby (auto-installs it if it can)
class { 'ruby::global':
  version => '1.9.3'
}

# ensure a certain ruby version is used in a dir
ruby::local { '/path/to/some/project':
  version => '1.9.3-p194'
}

# ensure a gem is installed for a certain ruby version
# note, you can't have duplicate resource names so you have to name like so
$version = "2.0.0"
ruby::gem { "bundler for ${version}":
  gem     => 'bundler',
  ruby    => $version,
  version => '~> 1.2.0'
}

# install a ruby version
ruby::version { '1.9.3-p194': }

# we provide a ton of predefined ones for you though
require ruby::1_9_3_p194

# Installing rbenv plugin
ruby::plugin { 'rbenv-vars':
  ensure => 'v1.2.0',
  source  => 'sstephenson/rbenv-vars'
}

# Run an installed gem
# rbenv-installed gems cannot be run in the boxen installation environment which uses the system
# ruby. The environment must be cleared (env -i) so an installed ruby (and gems) can be used in a new shell.
exec { "env -i zsh -c 'source /opt/boxen/env.sh && RBENV_VERSION=${version} bundle install'":
  provider => 'shell',
  cwd => "~/src/project",
  require => [ Ruby::Gem["bundler for ${version}"], Package['zsh'] ]
}

Hiera configuration

The following variables may be automatically overridden with Hiera:

---
"ruby::default_gems":
  - "bundler ~>1.3"
  - "pry"
"ruby::rbenv_plugins":
  "rbenv-gem-rehash":
    "ensure": "v1.0.0"
    "source": "sstephenson/rbenv-gem-rehash"

"ruby::rbenv_version": "v0.4.0"

"ruby::rbenv_root": "/home/deploy/rbenv"

"ruby::user": "deploy"

You can also use JSON if your Hiera is configured for that.

Something went wrong with that request. Please try again.