From 6c1e3ec822a829a35fba4d112dce7e92496b62a7 Mon Sep 17 00:00:00 2001 From: Keenan Brock Date: Wed, 26 Apr 2023 12:40:25 -0400 Subject: [PATCH] move ruby discovery code into a function When you install a new ruby in a different terminal shell, chruby does not pick up on the new ruby version. The solution is to to source chruby.sh again. Introducing chruby_discover which will allow any shell to pick up on the new ruby versions --- share/chruby/chruby.sh | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/share/chruby/chruby.sh b/share/chruby/chruby.sh index 7b2b4895..3a72dafb 100644 --- a/share/chruby/chruby.sh +++ b/share/chruby/chruby.sh @@ -1,10 +1,13 @@ CHRUBY_VERSION="0.3.9" -RUBIES=() -for dir in "$PREFIX/opt/rubies" "$HOME/.rubies"; do - [[ -d "$dir" && -n "$(command ls -A "$dir")" ]] && RUBIES+=("$dir"/*) -done -unset dir +function chruby_discover() +{ + RUBIES=() + local dir + for dir in "$PREFIX/opt/rubies" "$HOME/.rubies"; do + [[ -d "$dir" && -n "$(command ls -A "$dir")" ]] && RUBIES+=("$dir"/*) + done +} function chruby_reset() { @@ -102,3 +105,5 @@ function chruby() ;; esac } + +chruby_discover