# salt.modules.rbenv

Manage ruby installations with rbenv. rbenv is supported on Linux and macOS. rbenv doesn't work on Windows (and isn't really necessary on Windows as there is no system Ruby on Windows). On Windows, the RubyInstaller and/or Pik are both good alternatives to work with multiple versions of Ruby on the same box.

http://misheska.com/blog/2013/06/15/using-rbenv-to-manage-multiple-versions-of-ruby/

Added in version 0.16.0.

salt.modules.rbenv.default(ruby=None, runas=None)

  Returns or sets the currently defined default ruby

  ruby

    The version to set as the default. Should match one of the versions listed by `rbenv.versions`. Leave blank to return the current default.

  CLI Example:

      salt '*' rbenv.default
      salt '*' rbenv.default 2.0.0-p0

salt.modules.rbenv.do(cmdline, runas=None, env=None)

  Execute a ruby command with rbenv's shims from the user or the system

  CLI Example:

      salt '*' rbenv.do 'gem list bundler'
      salt '*' rbenv.do 'gem list bundler' deploy

salt.modules.rbenv.do_with_ruby(ruby, cmdline, runas=None)

  Execute a ruby command with rbenv's shims using a specific ruby version

  CLI Example:

      salt '*' rbenv.do_with_ruby 2.0.0-p0 'gem list bundler'
      salt '*' rbenv.do_with_ruby 2.0.0-p0 'gem list bundler' runas=deploy

salt.modules.rbenv.install(runas=None, path=None)

  Install rbenv systemwide

  CLI Example:

      salt '*' rbenv.install

salt.modules.rbenv.install_ruby(ruby, runas=None)

  Install a ruby implementation.

  ruby

    The version of Ruby to install, should match one of the versions listed by `rbenv.list`

  runas

    The user under which to run rbenv. If not specified, then rbenv will be run as the user under which Salt is running.

  Additional environment variables can be configured in pillar / grains / master:

      rbenv:
        build_env: 'CONFIGURE_OPTS="--no-tcmalloc" CFLAGS="-fno-tree-dce"'

  CLI Example:

      salt '*' rbenv.install_ruby 2.0.0-p0

salt.modules.rbenv.is_installed(runas=None)

  Check if rbenv is installed

  CLI Example:

      salt '*' rbenv.is_installed

salt.modules.rbenv.list_(runas=None)

  List the installable versions of ruby

  runas

    The user under which to run rbenv. If not specified, then rbenv will be run as the user under which Salt is running.

  CLI Example:

      salt '*' rbenv.list

salt.modules.rbenv.rehash(runas=None)

  Run `rbenv rehash` to update the installed shims

  runas

    The user under which to run rbenv. If not specified, then rbenv will be run as the user under which Salt is running.

  CLI Example:

      salt '*' rbenv.rehash

salt.modules.rbenv.uninstall_ruby(ruby, runas=None)

  Uninstall a ruby implementation.

  ruby

    The version of ruby to uninstall. Should match one of the versions listed by `rbenv.versions`.

  runas

    The user under which to run rbenv. If not specified, then rbenv will be run as the user under which Salt is running.

  CLI Example:

      salt '*' rbenv.uninstall_ruby 2.0.0-p0

salt.modules.rbenv.update(runas=None, path=None)

  Updates the current versions of rbenv and ruby-build

  runas

    The user under which to run rbenv. If not specified, then rbenv will be run as the user under which Salt is running.

  CLI Example:

      salt '*' rbenv.update

salt.modules.rbenv.versions(runas=None)

  List the installed versions of ruby

  CLI Example:

      salt '*' rbenv.versions