#!/usr/bin/env bash -e

create_prototype_shim() {
  cat > .rbenv-shim <<SH
#!/usr/bin/env bash -e
exec rbenv exec "\${0##*/}" "\$@"
SH
  chmod +x .rbenv-shim
}

make_shims() {
  local glob="$@"

  for file in $glob; do
    local shim="${file##*/}"
    [ -e "$shim" ] || ln -f .rbenv-shim "$shim"
  done
}

mkdir -p "${HOME}/.rbenv/shims"
cd "${HOME}/.rbenv/shims"
rm -f *

create_prototype_shim
make_shims ../versions/*/bin/*

shopt -s nullglob
RBENV_REHASH_PLUGINS=(/etc/rbenv.d/rehash/*.bash ${HOME}/.rbenv/rbenv.d/rehash/*.bash)
shopt -u nullglob

for script in ${RBENV_REHASH_PLUGINS[@]}; do
  source $script
done

rm -f .rbenv-shim