Permalink
Fetching contributors…
Cannot retrieve contributors at this time
62 lines (57 sloc) 1.65 KB
#!/usr/bin/env bash
\. "${rvm_path}/scripts/functions/hooks/binstubs"
function add_binstubs_to_path()
{
remove_binstubs_from_path "${2:-$1}"
export PATH="$1:$PATH"
export LAST_BUNDLER_BIN_PATH="$1"
}
BUNDLER_BIN_PATH=""
# see BUNDLE_BIN is set in the current directories .bundle/config
if
[[ -f .bundle/config && -r .bundle/config ]] &&
BUNDLER_BIN_PATH="$(\awk -F": " '$1=="BUNDLE_BIN"{print $2}' .bundle/config)" &&
[[ -n "$BUNDLER_BIN_PATH" ]]
then
case "$BUNDLER_BIN_PATH" in
(/*)
true # it's all fine
;;
(\~*)
BUNDLER_BIN_PATH="${BUNDLER_BIN_PATH/\~/$HOME}"
;;
(*HOME*)
eval BUNDLER_BIN_PATH=\"${BUNDLER_BIN_PATH}\"
;;
(*)
BUNDLER_BIN_PATH="$PWD/${BUNDLER_BIN_PATH}"
;;
esac
if
[[ ":$PATH:" =~ ":$BUNDLER_BIN_PATH:" ]]
then
echo "The bundler binstubs directory is already on path."
add_binstubs_to_path "${BUNDLER_BIN_PATH}"
else
case "${BUNDLER_BIN_PATH}" in
(${PWD}*)
if
__rvm_ask_for \
"The bundler binstubs directory is in the current directory, which may be unsafe.
Consider using rubygems-bundler instead => https://github.com/rvm/rubygems-bundler
Remove the BUNDLE_BIN line from .bundle/config to disable this prompt.
Are you sure you want to add the bundler binstubs directory to the path?" \
'Yes'
then
add_binstubs_to_path "${BUNDLER_BIN_PATH}" "${LAST_BUNDLER_BIN_PATH}"
fi
;;
(*)
add_binstubs_to_path "${BUNDLER_BIN_PATH}" "${LAST_BUNDLER_BIN_PATH}"
;;
esac
fi
else
# There is no BUNDLE_BIN setting
remove_binstubs_from_path "${LAST_BUNDLER_BIN_PATH}"
fi