vito 0.0.4 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (68) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +11 -0
  3. data/README.md +32 -19
  4. data/Rakefile +5 -20
  5. data/bin/vito +1 -1
  6. data/lib/vito.rb +5 -1
  7. data/lib/vito/command_line/command.rb +21 -0
  8. data/lib/vito/command_line/document_flags.rb +30 -0
  9. data/lib/vito/command_line/options.rb +41 -0
  10. data/lib/vito/command_line/string.rb +35 -0
  11. data/lib/vito/commands/help.rb +62 -0
  12. data/lib/vito/commands/install.rb +17 -0
  13. data/lib/vito/core_ext/string.rb +33 -0
  14. data/lib/vito/dsl/installation.rb +5 -2
  15. data/lib/vito/dsl/server.rb +3 -3
  16. data/lib/vito/dsl_file.rb +11 -5
  17. data/lib/vito/operating_systems/ubuntu_10.rb +4 -0
  18. data/lib/vito/output.rb +3 -1
  19. data/lib/vito/recipe.rb +29 -4
  20. data/lib/vito/recipes/apache/install.rb +155 -0
  21. data/lib/vito/recipes/apache/service.rb +20 -0
  22. data/lib/vito/recipes/git/install.rb +39 -0
  23. data/lib/vito/recipes/passenger/install.rb +83 -0
  24. data/lib/vito/recipes/passenger/paths.rb +27 -0
  25. data/lib/vito/recipes/postgres/install.rb +106 -0
  26. data/lib/vito/recipes/rbenv/install.rb +54 -0
  27. data/lib/vito/recipes/ruby/install.rb +57 -0
  28. data/lib/vito/recipes/ruby/paths.rb +19 -0
  29. data/lib/vito/tasks/vagrant_bootstrap.rb +49 -0
  30. data/lib/vito/tests/vagrant_test_box.rb +44 -0
  31. data/lib/vito/utils/program_version.rb +2 -2
  32. data/lib/vito/version.rb +1 -1
  33. data/spec/acceptance/recipes/apache_acceptance_spec.rb +25 -0
  34. data/spec/acceptance/recipes/git_acceptance_spec.rb +11 -11
  35. data/spec/acceptance/recipes/postgres_acceptance_spec.rb +11 -11
  36. data/spec/acceptance/recipes/rbenv_acceptance_spec.rb +13 -13
  37. data/spec/acceptance/recipes/ruby_acceptance_spec.rb +15 -15
  38. data/spec/support/vagrant.rb +21 -16
  39. data/spec/vagrant_boxes/centos63/.gitkeep +0 -0
  40. data/{Vagrantfile → spec/vagrant_boxes/centos63/Vagrantfile} +5 -4
  41. data/spec/vagrant_boxes/ubuntu10/Vagrantfile +100 -0
  42. data/spec/vagrant_boxes/ubuntu12/Vagrantfile +100 -0
  43. data/spec/vito/command_line/command_spec.rb +20 -0
  44. data/spec/vito/command_line/options_spec.rb +50 -0
  45. data/spec/vito/command_line/string_spec.rb +32 -0
  46. data/spec/vito/commands/install_spec.rb +9 -0
  47. data/spec/vito/connection_spec.rb +2 -2
  48. data/spec/vito/core_ext/string_spec.rb +19 -0
  49. data/spec/vito/dsl/installation_spec.rb +2 -2
  50. data/spec/vito/dsl_file_spec.rb +56 -18
  51. data/spec/vito/output_spec.rb +2 -2
  52. data/spec/vito/recipe_spec.rb +53 -3
  53. data/spec/vito/recipes/apache/install_spec.rb +140 -0
  54. data/spec/vito/recipes/passenger/paths_spec.rb +18 -0
  55. data/spec/vito/recipes/ruby_spec.rb +5 -5
  56. data/spec/vito/tasks/vagrant_bootstrap_spec.rb +65 -0
  57. data/spec/vito/tests/vagrant_test_box_spec.rb +69 -0
  58. data/spec/vito/utils/program_version_spec.rb +4 -2
  59. data/templates/apache2/vito_site +12 -0
  60. data/vito.gemspec +1 -1
  61. data/vito.rb +7 -5
  62. metadata +53 -13
  63. data/lib/vito/recipes/git.rb +0 -37
  64. data/lib/vito/recipes/postgres.rb +0 -104
  65. data/lib/vito/recipes/rbenv.rb +0 -47
  66. data/lib/vito/recipes/ruby.rb +0 -43
  67. data/lib/vito/shell_initializer.rb +0 -21
  68. data/spec/vito/shell_initializer_spec.rb +0 -22
@@ -0,0 +1,69 @@
1
+ require "spec_helper"
2
+
3
+ describe Vito::Tests::VagrantTestBox do
4
+ let(:os_name) { "ubuntu10" }
5
+
6
+ subject { described_class.new(os_name) }
7
+
8
+ describe ".boxes" do
9
+ context "no custom box names passed in" do
10
+ it "returns class instances for each box" do
11
+ described_class.boxes.any? { |b| b.name == "centos63" }.should be_true
12
+ described_class.boxes.any? { |b| b.name == "ubuntu10" }.should be_true
13
+ described_class.boxes.any? { |b| b.name == "ubuntu12" }.should be_true
14
+ end
15
+ end
16
+
17
+ context "custom box names passed in" do
18
+ it "returns class instances for each box" do
19
+ described_class.boxes(:ubuntu10, :ubuntu12).any? { |b| b.name == "ubuntu12" }.should be_true
20
+ described_class.boxes(:ubuntu10, :ubuntu12).any? { |b| b.name == "ubuntu10" }.should be_true
21
+ described_class.boxes(:ubuntu10, :ubuntu12).any? { |b| b.name == "centos63" }.should be_false
22
+ described_class.boxes(:ubuntu10).any? { |b| b.name == "ubuntu10" }.should be_true
23
+ described_class.boxes(:ubuntu10).any? { |b| b.name == "centos63" }.should be_false
24
+ described_class.boxes(:ubuntu10).any? { |b| b.name == "ubuntu12" }.should be_false
25
+ end
26
+ end
27
+ end
28
+
29
+ describe "#ssh_port" do
30
+ context "ubuntu10" do
31
+ let(:os_name) { "ubuntu10" }
32
+ its(:ssh_port) { should == "2223" }
33
+ end
34
+
35
+ context "ubuntu12" do
36
+ let(:os_name) { "ubuntu12" }
37
+ its(:ssh_port) { should == "2224" }
38
+ end
39
+
40
+ context "centos63" do
41
+ let(:os_name) { "centos63" }
42
+ its(:ssh_port) { should == "2225" }
43
+ end
44
+ end
45
+
46
+ describe "#path" do
47
+ context "ubuntu10" do
48
+ let(:os_name) { "ubuntu10" }
49
+ its(:path) { should == "spec/vagrant_boxes/ubuntu10" }
50
+ end
51
+
52
+ context "ubuntu12" do
53
+ let(:os_name) { "ubuntu12" }
54
+ its(:path) { should == "spec/vagrant_boxes/ubuntu12" }
55
+ end
56
+ end
57
+
58
+ describe "#initial_snapshot_name" do
59
+ context "ubuntu10" do
60
+ let(:os_name) { "ubuntu10" }
61
+ its(:initial_snapshot_name) { should == "ubuntu10_initial_box" }
62
+ end
63
+
64
+ context "ubuntu12" do
65
+ let(:os_name) { "ubuntu12" }
66
+ its(:initial_snapshot_name) { should == "ubuntu12_initial_box" }
67
+ end
68
+ end
69
+ end
@@ -16,9 +16,10 @@ describe Vito::Utils::ProgramVersion do
16
16
  subject.matches?("2.0.0-p195").should be_true
17
17
  subject.matches?("2.0.0p195").should be_true
18
18
  subject.matches?("2.0.0").should be_true
19
+ subject.matches?.should be_true
19
20
  end
20
21
 
21
- it "returns false if it doesn't matche" do
22
+ it "returns false if it doesn't match" do
22
23
  subject.matches?("2.0.0p125").should be_false
23
24
  subject.matches?("1.9.3").should be_false
24
25
  end
@@ -35,9 +36,10 @@ describe Vito::Utils::ProgramVersion do
35
36
  subject.matches?("2.0.0").should be_false
36
37
  end
37
38
 
38
- it "returns false if it doesn't matche" do
39
+ it "returns false if it doesn't match" do
39
40
  subject.matches?("2.0.0p125").should be_false
40
41
  subject.matches?("1.9.3").should be_false
42
+ subject.matches?.should be_false
41
43
  end
42
44
  end
43
45
  end
@@ -0,0 +1,12 @@
1
+ <VirtualHost *:{{VITO_PORT}}>
2
+ ServerName {{VITO_SERVERNAME}}
3
+ # !!! Be sure to point DocumentRoot to 'public'!
4
+ DocumentRoot {{VITO_SITE_PATH}}
5
+ <Directory {{VITO_SITE_PATH}}>
6
+ # This relaxes Apache security settings.
7
+ AllowOverride all
8
+ # MultiViews must be turned off.
9
+ Options -MultiViews
10
+ </Directory>
11
+ </VirtualHost>
12
+
@@ -16,7 +16,7 @@ Gem::Specification.new do |gem|
16
16
  gem.require_paths = ["lib"]
17
17
  gem.version = Vito::VERSION
18
18
 
19
- gem.add_dependency("active_support")
19
+ gem.add_development_dependency("rake")
20
20
  gem.add_development_dependency("rspec")
21
21
  gem.add_development_dependency("pry-debugger")
22
22
  end
data/vito.rb CHANGED
@@ -1,12 +1,14 @@
1
1
  server :ruby_server, :one do
2
2
  # Vagrant box
3
- connection :ssh, command: "ssh -i ~/.vagrant.d/insecure_private_key vagrant@localhost -p2222"
3
+ connection :ssh, command: "ssh -i ~/.vagrant.d/insecure_private_key vagrant@localhost -p2224"
4
4
 
5
5
  install :rbenv
6
6
  install :git
7
7
  install :ruby, version: "1.9.3-p125"
8
- install :postgres
9
- #install :tmux
10
- #install :ruby_gem, :bundler
11
- #install :passenger
8
+ #install :postgres, username: 'vito', password: 'corleone'
9
+ install :apache do
10
+ with :passenger
11
+ vhosts with: :ssl, path: "/var/projects/someapp/current/public"
12
+ end
13
+ # install :tmux
12
14
  end
metadata CHANGED
@@ -1,23 +1,23 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vito
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alexandre de Oliveira
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-07-30 00:00:00.000000000 Z
11
+ date: 2013-08-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: active_support
14
+ name: rake
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - '>='
18
18
  - !ruby/object:Gem::Version
19
19
  version: '0'
20
- type: :runtime
20
+ type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
@@ -65,16 +65,23 @@ files:
65
65
  - .gitignore
66
66
  - .rspec
67
67
  - .rvmrc
68
+ - .travis.yml
68
69
  - Gemfile
69
70
  - LICENSE
70
71
  - README.md
71
72
  - Rakefile
72
- - Vagrantfile
73
73
  - bin/vito
74
74
  - docs/manual.md
75
75
  - lib/samples/vito_for_rails.rb
76
76
  - lib/vito.rb
77
+ - lib/vito/command_line/command.rb
78
+ - lib/vito/command_line/document_flags.rb
79
+ - lib/vito/command_line/options.rb
80
+ - lib/vito/command_line/string.rb
81
+ - lib/vito/commands/help.rb
82
+ - lib/vito/commands/install.rb
77
83
  - lib/vito/connection.rb
84
+ - lib/vito/core_ext/string.rb
78
85
  - lib/vito/dsl/installation.rb
79
86
  - lib/vito/dsl/server.rb
80
87
  - lib/vito/dsl_file.rb
@@ -83,13 +90,20 @@ files:
83
90
  - lib/vito/operating_systems/ubuntu_10.rb
84
91
  - lib/vito/output.rb
85
92
  - lib/vito/recipe.rb
86
- - lib/vito/recipes/git.rb
87
- - lib/vito/recipes/postgres.rb
88
- - lib/vito/recipes/rbenv.rb
89
- - lib/vito/recipes/ruby.rb
90
- - lib/vito/shell_initializer.rb
93
+ - lib/vito/recipes/apache/install.rb
94
+ - lib/vito/recipes/apache/service.rb
95
+ - lib/vito/recipes/git/install.rb
96
+ - lib/vito/recipes/passenger/install.rb
97
+ - lib/vito/recipes/passenger/paths.rb
98
+ - lib/vito/recipes/postgres/install.rb
99
+ - lib/vito/recipes/rbenv/install.rb
100
+ - lib/vito/recipes/ruby/install.rb
101
+ - lib/vito/recipes/ruby/paths.rb
102
+ - lib/vito/tasks/vagrant_bootstrap.rb
103
+ - lib/vito/tests/vagrant_test_box.rb
91
104
  - lib/vito/utils/program_version.rb
92
105
  - lib/vito/version.rb
106
+ - spec/acceptance/recipes/apache_acceptance_spec.rb
93
107
  - spec/acceptance/recipes/git_acceptance_spec.rb
94
108
  - spec/acceptance/recipes/postgres_acceptance_spec.rb
95
109
  - spec/acceptance/recipes/rbenv_acceptance_spec.rb
@@ -97,7 +111,16 @@ files:
97
111
  - spec/fixtures/vito.rb
98
112
  - spec/spec_helper.rb
99
113
  - spec/support/vagrant.rb
114
+ - spec/vagrant_boxes/centos63/.gitkeep
115
+ - spec/vagrant_boxes/centos63/Vagrantfile
116
+ - spec/vagrant_boxes/ubuntu10/Vagrantfile
117
+ - spec/vagrant_boxes/ubuntu12/Vagrantfile
118
+ - spec/vito/command_line/command_spec.rb
119
+ - spec/vito/command_line/options_spec.rb
120
+ - spec/vito/command_line/string_spec.rb
121
+ - spec/vito/commands/install_spec.rb
100
122
  - spec/vito/connection_spec.rb
123
+ - spec/vito/core_ext/string_spec.rb
101
124
  - spec/vito/dsl/installation_spec.rb
102
125
  - spec/vito/dsl/server_spec.rb
103
126
  - spec/vito/dsl_file_spec.rb
@@ -106,10 +129,14 @@ files:
106
129
  - spec/vito/operating_systems/ubuntu_10_spec.rb
107
130
  - spec/vito/output_spec.rb
108
131
  - spec/vito/recipe_spec.rb
132
+ - spec/vito/recipes/apache/install_spec.rb
109
133
  - spec/vito/recipes/git_spec.rb
134
+ - spec/vito/recipes/passenger/paths_spec.rb
110
135
  - spec/vito/recipes/ruby_spec.rb
111
- - spec/vito/shell_initializer_spec.rb
136
+ - spec/vito/tasks/vagrant_bootstrap_spec.rb
137
+ - spec/vito/tests/vagrant_test_box_spec.rb
112
138
  - spec/vito/utils/program_version_spec.rb
139
+ - templates/apache2/vito_site
113
140
  - vito.gemspec
114
141
  - vito.rb
115
142
  homepage: http://github.com/kurko/vito
@@ -132,11 +159,12 @@ required_rubygems_version: !ruby/object:Gem::Requirement
132
159
  version: '0'
133
160
  requirements: []
134
161
  rubyforge_project:
135
- rubygems_version: 2.0.4
162
+ rubygems_version: 2.0.3
136
163
  signing_key:
137
164
  specification_version: 4
138
165
  summary: Install webserver environments automatically in an easier way
139
166
  test_files:
167
+ - spec/acceptance/recipes/apache_acceptance_spec.rb
140
168
  - spec/acceptance/recipes/git_acceptance_spec.rb
141
169
  - spec/acceptance/recipes/postgres_acceptance_spec.rb
142
170
  - spec/acceptance/recipes/rbenv_acceptance_spec.rb
@@ -144,7 +172,16 @@ test_files:
144
172
  - spec/fixtures/vito.rb
145
173
  - spec/spec_helper.rb
146
174
  - spec/support/vagrant.rb
175
+ - spec/vagrant_boxes/centos63/.gitkeep
176
+ - spec/vagrant_boxes/centos63/Vagrantfile
177
+ - spec/vagrant_boxes/ubuntu10/Vagrantfile
178
+ - spec/vagrant_boxes/ubuntu12/Vagrantfile
179
+ - spec/vito/command_line/command_spec.rb
180
+ - spec/vito/command_line/options_spec.rb
181
+ - spec/vito/command_line/string_spec.rb
182
+ - spec/vito/commands/install_spec.rb
147
183
  - spec/vito/connection_spec.rb
184
+ - spec/vito/core_ext/string_spec.rb
148
185
  - spec/vito/dsl/installation_spec.rb
149
186
  - spec/vito/dsl/server_spec.rb
150
187
  - spec/vito/dsl_file_spec.rb
@@ -153,7 +190,10 @@ test_files:
153
190
  - spec/vito/operating_systems/ubuntu_10_spec.rb
154
191
  - spec/vito/output_spec.rb
155
192
  - spec/vito/recipe_spec.rb
193
+ - spec/vito/recipes/apache/install_spec.rb
156
194
  - spec/vito/recipes/git_spec.rb
195
+ - spec/vito/recipes/passenger/paths_spec.rb
157
196
  - spec/vito/recipes/ruby_spec.rb
158
- - spec/vito/shell_initializer_spec.rb
197
+ - spec/vito/tasks/vagrant_bootstrap_spec.rb
198
+ - spec/vito/tests/vagrant_test_box_spec.rb
159
199
  - spec/vito/utils/program_version_spec.rb
@@ -1,37 +0,0 @@
1
- module Vito
2
- module Recipes
3
- class Git < Vito::Recipe
4
- def run
5
- if git_installed?
6
- Vito::Log.write "Git is already installed."
7
- else
8
- Vito::Log.write "Installing Git's OS dependencies"
9
- install_os_dependencies
10
- Vito::Log.write "Installing Git itself"
11
- install_git
12
- end
13
- end
14
-
15
- private
16
-
17
- def git_installed?
18
- query("git --version").success?
19
- end
20
-
21
- def install_git
22
- string = []
23
- string << "sudo apt-get install -y git-core"
24
- string << "git --version"
25
- run_command(string.join(" && "))
26
- end
27
-
28
- def os_dependencies
29
- %w(build-essential openssl libreadline6
30
- libreadline6-dev zlib1g zlib1g-dev libssl-dev
31
- libyaml-dev libsqlite3-0 libsqlite3-dev sqlite3
32
- libxml2-dev libxslt1-dev autoconf libc6-dev
33
- libncurses5-dev)
34
- end
35
- end
36
- end
37
- end
@@ -1,104 +0,0 @@
1
- module Vito
2
- module Recipes
3
- class Postgres < Vito::Recipe
4
- def run
5
- if installed?
6
- Vito::Log.write "Postgres already installed."
7
- else
8
- Vito::Log.write "Installing Postgres"
9
- install_os_dependencies
10
- install
11
- end
12
- end
13
-
14
- private
15
-
16
- def postgres_installed?
17
- @memo ||= query("psql --version").success?
18
- end
19
-
20
- def user_exists?
21
- query("sudo su - postgres -c \"psql -tAc \\\\\"SELECT 1 FROM pg_roles WHERE rolname='#{username}'\\\\\" | grep -q 1 || echo 'hey'\"").result == ""
22
- end
23
-
24
- def utf_template?
25
- query("sudo su - postgres -c \"psql -d template1 -c \\\\\"SHOW SERVER_ENCODING;\\\\\" | grep -q UTF || echo 'hey'\"").result == ""
26
- end
27
-
28
- def installed?
29
- # Only verifies Postgres configuration if it's installed
30
- if postgres_installed?
31
- Vito::Log.write "User doesn't exist. I will create one." unless user_exists?
32
- Vito::Log.write "template1 database's encoding should be UTF-8. I'll adjust this." unless utf_template?
33
- end
34
-
35
- postgres_installed? &&
36
- user_exists? &&
37
- utf_template?
38
- end
39
-
40
- def username
41
- "vitouser"
42
- end
43
-
44
- def password
45
- "123456"
46
- end
47
-
48
- def install
49
- string = []
50
- run_command "sudo apt-get install -y postgresql-9.1 libpq-dev"
51
-
52
- # Create user only if it doesn't exist yet
53
- unless user_exists?
54
- string << "sudo su - postgres -c \"createuser -d -r -s #{username}\""
55
- end
56
-
57
- run_command(string.join(" && ")) unless string.empty?
58
- convert_template1_to_utf8 unless utf_template?
59
- string = []
60
-
61
- if os.is?(:ubuntu, "10")
62
- string << "sudo /etc/init.d/postgresql restart"
63
- else
64
- string << "sudo service postgresql restart"
65
- end
66
- run_command "sudo su - postgres -c \"psql -d template1 -c \\\\\"alter user #{username} with password '#{password}'\\\\\";\""
67
-
68
- run_command(string.join(" && "))
69
- end
70
-
71
- def install_os_dependencies
72
- return if postgres_installed?
73
- Vito::Log.write "Installing some OS dependencies first"
74
- if os.is?(:ubuntu, "10")
75
- run_command("sudo apt-get remove -y postgresql")
76
- run_command("sudo apt-get autoremove -y")
77
- run_command("sudo apt-get install -y python-software-properties")
78
- run_command("sudo add-apt-repository ppa:pitti/postgresql && sudo apt-get update")
79
- end
80
-
81
- super
82
- end
83
-
84
- def os_dependencies
85
- %w(libpq-dev postgresql-contrib)
86
- end
87
-
88
- def convert_template1_to_utf8
89
- # In some cases, the OS locale won't be compatible with UTF-8. When
90
- # creating a database, Rails will try to use Postgres' template1 with
91
- # UTF-8.
92
- #
93
- # Here, we delete template1, then login in template0 to recreate
94
- # template1 with UTF-8 encoding.
95
- run_command "sudo su - postgres -c \"psql -d template1 -c \\\\\"UPDATE pg_database SET datallowconn = TRUE where datname = 'template0';\\\\\"\""
96
- run_command "sudo su - postgres -c \"psql -d template0 -c \\\\\"UPDATE pg_database SET datistemplate = FALSE where datname = 'template1'; \\\\\"\""
97
- run_command "sudo su - postgres -c \"psql -d template0 -c \\\\\"drop database template1; \\\\\"\""
98
- run_command "sudo su - postgres -c \"psql -d template0 -c \\\\\"create database template1 with template = template0 encoding = 'UNICODE' LC_CTYPE = 'en_US.UTF-8' LC_COLLATE = 'C'; \\\\\"\""
99
- run_command "sudo su - postgres -c \"psql -d template0 -c \\\\\" UPDATE pg_database SET datistemplate = TRUE where datname = 'template1'; \\\\\"\""
100
- run_command "sudo su - postgres -c \"psql -d template1 -c \\\\\" UPDATE pg_database SET datallowconn = FALSE where datname = 'template0'; \\\\\"\""
101
- end
102
- end
103
- end
104
- end
@@ -1,47 +0,0 @@
1
- module Vito
2
- module Recipes
3
- class Rbenv < Vito::Recipe
4
- def run
5
- if rbenv_installed?
6
- Vito::Log.write "Rbenv already installed."
7
- else
8
- Vito::Log.write "Installing Rbenv"
9
- depends_on_recipe(:git)
10
- install_rbenv
11
- install_ruby_build
12
- end
13
- end
14
-
15
- private
16
-
17
- def rbenv_installed?
18
- string = []
19
- string << "cd ~/"
20
- string << "rbenv commands"
21
- query(string.join(" && ")).success?
22
- end
23
-
24
- def install_rbenv
25
- puts "Installing Rbenv..."
26
- string = []
27
- # TODO verify if this folder already exists
28
- run_command "git clone git://github.com/sstephenson/rbenv.git ~/.rbenv"
29
-
30
- # TODO verify if .bashrc already have these lines
31
- string = []
32
- string << "echo 'eval \"$(rbenv init -)\"' | cat - ~/.bashrc > vitotemp && mv vitotemp ~/.bashrc"
33
- string << "echo 'export PATH=\"\\$HOME/.rbenv/bin:\\$PATH\"' | cat - ~/.bashrc > vitotemp && mv vitotemp ~/.bashrc"
34
-
35
- run_command string.join(" && ")
36
- end
37
-
38
- def install_ruby_build
39
- puts "Installing ruby-build embedded into rbenv..."
40
- string = []
41
- # TODO verify if this dir already exists
42
- string << "git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build"
43
- run_command string.join(" && ")
44
- end
45
- end
46
- end
47
- end