#!/bin/bash
clear
dllistdep(){
gem list --no-version > installed_gem
grep -v -f list depends > failed.txt
sudo awk '{print "gem fetch "$0" "}' installed_gem > gem_installed_list.txt
# remove everything betwen ()
#echo '(F/.M/d h)' | sed 's/(.*)//' tmp_gem_list > ready_gem2download
#removes everything after --
gem dependency --pipe >dep
sed 's/--[^-]*$//' dep >dep1
sudo awk '{print "gem fetch "$0" "}' dep1 > gem_dep_dl.txt
mkdir gem
sh gem_dep_dl.txt && sh gem_installed_list.txt
cp *.gem /gem/
rm installed_gem && rm tmp_gem_list && rm ready_gem2download && rm dep && rm dep && rm dep1
return $TRUE
}
start_help(){
echo "HELP COMMANDS--------------------------------------------------------------"
echo " "
echo "hgem install gem install program "
echo "hgem download gem fetch program "
echo "hgem remove gem uninstall program "
echo "hgem spec gem specification program.gem "
echo "hgem dep gem dependency program --remote > gem_dependency.txt "
echo "hgem list gem list > gem_list.txt "
echo "hgem dllistdep Download gem list and dependency "
echo "hgem pristine Restoring gems to pristine condition... "
echo "hgem install-local gem install --force --local *.gem "
echo " "
return $TRUE
} #end Help
# -Case start
# if no command line arg given
# set val to Unknown
if [ -z $1 ]
then
val="*** Unknown ***"
elif [ -n $1 ]
then
# otherwise make first arg as val
val=$1
fi
# use case statement to make decision for rental
case $val in
"install") gem install $1 $2 $3 $4 $5 $6 ;;
"remove") gem uninstall $1 $2 $3 $4 $5 $6 ;;
"dep") gem dependency $1 $2 $3 $4 $5 $6 --remote > gem_dependency.txt;;
"download") gem fetch $1 $2 $3 $4 $5 $6 ;;
"spec") gem specification $1 ;;
"list") gem list > gem_list.txt ;;
"help") start_help ;;
"dllistdep") dl-list-dep ;;
"pristine") gem pristine --all ;;
"install-local") gem install --force --local *.gem ;;
*) echo "Sorry, I can not get a $val for you!";;
esac
# Case stop