#!/usr/bin/env bash # # Summary: Set or show the shell-specific Ruby version # # Usage: rbenv shell # rbenv shell --unset # # Sets a shell-specific Ruby version by setting the `RBENV_VERSION' # environment variable in your shell. This version overrides local # application-specific versions and the global version. # # should be a string matching a Ruby version known to rbenv. # The special version string `system' will use your default system Ruby. # Run `rbenv versions' for a list of available Ruby versions. set -e [ -n "$RBENV_DEBUG" ] && set -x # Provide rbenv completions if [ "$1" = "--complete" ]; then echo --unset echo system exec rbenv-versions --bare fi version="$1" shell="$(basename "${RBENV_SHELL:-$SHELL}")" if [ -z "$version" ]; then if [ -z "$RBENV_VERSION" ]; then echo "rbenv: no shell-specific version configured" >&2 exit 1 else echo "echo \"\$RBENV_VERSION\"" exit fi fi if [ "$version" = "--unset" ]; then case "$shell" in fish ) echo "set -e RBENV_VERSION" ;; * ) echo "unset RBENV_VERSION" ;; esac exit fi # Make sure the specified version is installed. if rbenv-prefix "$version" >/dev/null; then case "$shell" in fish ) echo "setenv RBENV_VERSION \"${version}\"" ;; * ) echo "export RBENV_VERSION=\"${version}\"" ;; esac else echo "false" exit 1 fi