Skip to content
This repository was archived by the owner on Mar 14, 2023. It is now read-only.

Commit c45285f

Browse files
committed
Update installation process in version 1.3
1 parent 5bcb8f6 commit c45285f

File tree

5 files changed

+120
-60
lines changed

5 files changed

+120
-60
lines changed

README.md

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,11 @@
11
# ruby-installation
2-
Simple Command For Ruby Installation
2+
Painless Ruby Installation (Autoinstaller Ruby)
33

4-
Features:
4+
![alt text](https://github.com/zeroc0d3/ruby-installation/blob/master/snapshot/install_ruby1.png)
5+
6+
![alt text](https://github.com/zeroc0d3/ruby-installation/blob/master/snapshot/install_ruby2.png)
7+
8+
## Features
59
- [X] Using `rbenv` Package Manager
610
- [X] Using `rvm` Package Manager
711
- [X] Support Docker Installation
@@ -21,8 +25,8 @@ Features:
2125
```
2226
* Your Username & Path (Home)
2327
```
24-
USERNAME='zeroc0d3'
25-
PATH_HOME='/home/zeroc0d3'
28+
USERNAME='zeroc0d3' (default: USERNAME=`echo $USER`)
29+
PATH_HOME='/home/zeroc0d3' (default: PATH_HOME=`echo $HOME`)
2630
```
2731
* Bash (`~/.bashrc`) and/or ZSH (`~/.zshrc`) Configuration
2832
```
@@ -97,6 +101,10 @@ Features:
97101
```
98102

99103
## Running Installation
104+
* [X] Configure Ruby Version
105+
* [X] Configure Package Manager
106+
* [X] Configure Username & Path
107+
* [X] Configure Bash (`~/.bashrc`) and/or ZSH (`~/.zshrc`)
100108
* Type command:
101109
```
102110
./install_ruby.sh

VERSION

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
1.3

install_ruby.sh

Lines changed: 107 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
#!/bin/sh
22

3-
DATE=`date '+%Y-%m-%d %H:%M:%S'`
43
DEFAULT_VERSION="2.4.2"
54
DEFAULT_PACKAGE="rbenv"
65
INSTALL_VERSION=$DEFAULT_VERSION
@@ -18,16 +17,34 @@ PATH_BACKUP_RBENV=$PATH_HOME"/__rbenv_"$SNAP_BACKUP
1817
PATH_BACKUP_RVM=$PATH_HOME"/__rvm_"$SNAP_BACKUP
1918
WHAT_SHELL=`$SHELL -c 'echo $0'`
2019

20+
get_time() {
21+
DATE=`date '+%Y-%m-%d %H:%M:%S'`
22+
}
23+
2124
logo() {
22-
echo "--------------------------------------------------------------------------"
23-
echo " __________ _________ _______ .___________ "
24-
echo " \____ /___________ ____ \_ ___ \\ _ \ __| _/\_____ \ LAB "
25-
echo " / // __ \_ __ \/ _ \/ \ \// /_\ \ / __ | _(__ < "
26-
echo " / /\ ___/| | \( <_> ) \___\ \_/ \/ /_/ | / \ "
27-
echo " /_______ \___ >__| \____/ \______ /\_____ /\____ | /______ / "
28-
echo " \/ \/ \/ \/ \/ \/ "
29-
echo "--------------------------------------------------------------------------"
30-
echo " Date / Time: $DATE"
25+
clear
26+
echo "\033[22;32m==========================================================================\033[0m"
27+
echo "\033[22;31m __________ _________ _______ .___________ \033[0m"
28+
echo "\033[22;31m \____ /___________ ____ \_ ___ \\ _ \ __| _/\_____ \ LAB \033[0m"
29+
echo "\033[22;31m / // __ \_ __ \/ _ \/ \ \// /_\ \ / __ | _(__ < \033[0m"
30+
echo "\033[22;31m / /\ ___/| | \( <_> ) \___\ \_/ \/ /_/ | / \ \033[0m"
31+
echo "\033[22;31m /_______ \___ >__| \____/ \______ /\_____ /\____ | /______ / \033[0m"
32+
echo "\033[22;31m \/ \/ \/ \/ \/ \/ \033[0m\n"
33+
}
34+
35+
header() {
36+
logo
37+
echo "\033[22;32m==========================================================================\033[0m"
38+
get_time
39+
echo "\033[22;31m# BEGIN PROCESS..... (Please Wait) \033[0m"
40+
echo "\033[22;31m# Start at: $DATE \033[0m\n"
41+
}
42+
43+
footer() {
44+
echo "\033[22;32m==========================================================================\033[0m"
45+
get_time
46+
echo "\033[22;31m# Finish at: $DATE \033[0m"
47+
echo "\033[22;31m# END PROCESS..... \033[0m\n"
3148
}
3249

3350
check_version() {
@@ -44,67 +61,83 @@ check_ruby_package() {
4461
fi
4562
}
4663

47-
reload_env_shell() {
64+
cleanup() {
65+
get_time
66+
echo "\033[22;34m[ $DATE ] ##### Archiving Old Ruby Packages: \033[0m"
67+
4868
if [ "$INSTALL_PACKAGE" = "rbenv" ]
4969
then
50-
exec $SHELL
51-
else
52-
source $RVM_ROOT/scripts/rvm
70+
if [ -d "$RBENV_ROOT" ]; then
71+
mv $RBENV_ROOT $PATH_BACKUP_RBENV
72+
fi
73+
else
74+
if [ -d "$RVM_ROOT" ]; then
75+
sudo mv $RVM_ROOT $PATH_BACKUP_RVM
76+
fi
5377
fi
78+
sudo rm -f /etc/profile.d/rvm.sh
79+
80+
echo ""
81+
get_time
82+
echo "\033[22;32m[ $DATE ] :: [ ✔ ] \033[22;32m Old Ruby Packages Archived... \033[0m\n"
5483
}
5584

56-
check_env() {
57-
reload_env_shell
58-
echo "--------------------------------------------------------------------------"
59-
echo "## Load Environment: "
60-
85+
load_env() {
86+
get_time
87+
echo "\033[22;34m[ $DATE ] ##### Load Environment: \033[0m"
88+
89+
### Running Ruby Environment ###
90+
/bin/sh ./ruby.sh
91+
6192
if [ "$INSTALL_PACKAGE" = "rbenv" ]
6293
then
6394
if [ "$WHAT_SHELL" = "`which zsh`" ] || [ "$WHAT_SHELL" = "zsh" ]
6495
then
65-
echo " $PATH_HOME/.zshrc"
96+
echo "\033[22;32m[ $DATE ] $PATH_HOME/.zshrc \033[0m\n"
6697
else
6798
if [ "$WHAT_SHELL" = "`which bash`" ] || [ "$WHAT_SHELL" = "bash" ]
6899
then
69-
echo " $PATH_HOME/.bashrc"
100+
echo "\033[22;32m[ $DATE ] $PATH_HOME/.bashrc \033[0m\n"
70101
else
71-
echo " $PATH_HOME/.bashrc"
102+
echo "\033[22;32m[ $DATE ] $PATH_HOME/.bashrc \033[0m\n"
72103
fi
73104
fi
74105
else
75-
echo " $RVM_ROOT/scripts/rvm"
106+
echo "\033[22;32m[ $DATE ] $RVM_ROOT/scripts/rvm \033[0m\n"
76107
fi
77-
78-
echo ""
108+
109+
get_time
110+
echo "\033[22;32m[ $DATE ] :: [ ✔ ] \033[22;32m Environment Loaded... \033[0m\n"
79111
}
80112

81-
cleanup() {
113+
reload_shell() {
82114
if [ "$INSTALL_PACKAGE" = "rbenv" ]
83115
then
84-
if [ -d "$RBENV_ROOT" ]; then
85-
mv $RBENV_ROOT $PATH_BACKUP_RBENV
86-
fi
87-
else
88-
if [ -d "$RVM_ROOT" ]; then
89-
sudo mv $RVM_ROOT $PATH_BACKUP_RVM
90-
fi
116+
exec $SHELL
117+
else
118+
source $RVM_ROOT/scripts/rvm
91119
fi
92-
sudo rm -f /etc/profile.d/rvm.sh
93120
}
94121

95122
install_ruby() {
96-
echo "--------------------------------------------------------------------------"
97-
echo "## Install Ruby Version: "
98-
echo " $INSTALL_VERSION"
99-
echo "## Using Ruby Package: "
100-
echo " $INSTALL_PACKAGE"
101-
echo ""
123+
get_time
124+
echo "\033[22;34m[ $DATE ] ##### Install Ruby Version: \033[0m"
125+
echo "\033[22;32m[ $DATE ] $INSTALL_VERSION \033[0m\n"
126+
127+
get_time
128+
echo "\033[22;34m[ $DATE ] ##### Using Ruby Package: \033[0m"
129+
echo "\033[22;32m[ $DATE ] $INSTALL_PACKAGE \033[0m\n"
130+
102131
cleanup
132+
103133
if [ "$INSTALL_PACKAGE" = "rbenv" ]
104134
then
105135
#-----------------------------------------------------------------------------
106136
# Get repo rbenv
107137
#-----------------------------------------------------------------------------
138+
get_time
139+
echo "\033[22;34m[ $DATE ] ##### Download RBENV Repository: \033[0m"
140+
108141
git clone https://github.com/rbenv/rbenv.git $RBENV_ROOT \
109142
&& git clone https://github.com/rbenv/ruby-build.git $RBENV_ROOT/plugins/ruby-build
110143

@@ -114,10 +147,17 @@ install_ruby() {
114147
$RBENV_ROOT/bin/rbenv install $INSTALL_VERSION \
115148
&& $RBENV_ROOT/bin/rbenv global $INSTALL_VERSION \
116149
&& $RBENV_ROOT/bin/rbenv rehash
150+
151+
echo ""
152+
get_time
153+
echo "\033[22;32m[ $DATE ] :: [ ✔ ] \033[22;32m Ruby Installed... \033[0m\n"
117154
else
118155
#-----------------------------------------------------------------------------
119156
# Get repo rvm
120157
#-----------------------------------------------------------------------------
158+
get_time
159+
echo "\033[22;34m[ $DATE ] ##### Download RVM Repository: \033[0m"
160+
121161
curl -sSL https://rvm.io/mpapis.asc | gpg2 --import \
122162
&& curl -sSL https://raw.githubusercontent.com/wayneeseguin/rvm/master/binscripts/rvm-installer | sudo bash -s stable \
123163
&& sudo usermod -a -G rvm root \
@@ -131,41 +171,52 @@ install_ruby() {
131171
#-----------------------------------------------------------------------------
132172
$RVM_ROOT/bin/rvm install $INSTALL_VERSION \
133173
&& $RVM_ROOT/bin/rvm use $INSTALL_VERSION --default
174+
175+
echo ""
176+
get_time
177+
echo "\033[22;32m[ $DATE ] :: [ ✔ ] \033[22;32m Ruby Installed... \033[0m\n"
134178
fi
135179
}
136180

137181
validate_installation() {
138-
echo "--------------------------------------------------------------------------"
139-
echo "## Ruby Version: "
182+
get_time
183+
echo "\033[22;34m[ $DATE ] ##### Ruby Version: \033[0m"
140184
RUBY=`which ruby`
141185
RUBY_V=`$RUBY -v`
142-
echo " $RUBY_V"
143-
echo ""
144-
echo "## Path Ruby: "
145-
echo " $RUBY"
146-
echo ""
147-
echo "## Path Gem: "
186+
echo "\033[22;32m[ $DATE ] $RUBY_V \033[0m\n"
187+
188+
get_time
189+
echo "\033[22;34m[ $DATE ] ##### Path Ruby: \033[0m"
190+
echo "\033[22;32m[ $DATE ] $RUBY \033[0m\n"
191+
192+
get_time
193+
echo "\033[22;34m[ $DATE ] ##### Path Gem: \033[0m"
148194
GEM=`which gem`
149-
echo " $GEM"
150-
echo ""
195+
echo "\033[22;32m[ $DATE ] $GEM \033[0m\n"
151196
}
152197

153198
install_bundle() {
154-
echo "--------------------------------------------------------------------------"
155-
echo "## Install Bundle: "
156-
echo " $GEM install bundle"
157-
echo ""
199+
get_time
200+
echo "\033[22;34m[ $DATE ] ##### Install Bundle: \033[0m"
201+
echo "\033[22;32m[ $DATE ] $GEM install bundle \033[0m\n"
202+
158203
$GEM install bundle
204+
205+
echo ""
206+
get_time
207+
echo "\033[22;32m[ $DATE ] :: [ ✔ ] \033[22;32m Bundle Installed... \033[0m\n"
159208
}
160209

161210
main() {
162-
logo
211+
header
163212
check_version
164213
check_ruby_package
165214
install_ruby
166-
check_env
215+
load_env
167216
validate_installation
168217
install_bundle
218+
footer
219+
reload_shell
169220
}
170221

171222
### START HERE ###

snapshot/install_ruby1.png

85 KB
Loading

snapshot/install_ruby2.png

83.4 KB
Loading

0 commit comments

Comments
 (0)