stable-cli-rails 0.6.3 → 0.6.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/stable/cli.rb +46 -26
  3. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3218e61a2bbc965b952621aadbd8eefdbe1c3d982b4a7467de087700201f7823
4
- data.tar.gz: 1a401494bec7fd015c4dd21d019b39cdec1cbbd369c6cac0087f27ebf3320b70
3
+ metadata.gz: 943a8bb18d00d40f3649f71f0de4ea5f27e3aed2fa115eee16044ab22607bf8f
4
+ data.tar.gz: a0537cee5a9fe8bcbe77035b1b116a2274b66b26e131039397d5d15a3ba9a105
5
5
  SHA512:
6
- metadata.gz: b7b529c7cb295c17b48104fc192af9925f1539c69a587195a3963747822f6a903846a2603242834c762ca496638b2d9f2755ca1152038d29353fb282833bd7c1
7
- data.tar.gz: edcd4067681759d297021c6b845ca679c39c64af782ccfcbb290c33a4d61e4d9c23d825d3d5d8cc694d01b265e1d90c0cf4435bc32e0b83dedafe3f18d767018
6
+ metadata.gz: d8de9e3bb95df90cdb1808c4bbab3116ff6930e33837a11cc123ed24fd45230a8d65114dfceb7bf242bb22f2e19dd426f7a88ea70e3433b6856a990642f1319f
7
+ data.tar.gz: 7cd5cc00d03b662184586237fb8ff0126ca6381b7177c61458649b7b46a5a2be222bbb6311e31fa36564e9a5d34b2776bcdab2865ba3261d648c93ad3939d73b
data/lib/stable/cli.rb CHANGED
@@ -71,14 +71,30 @@ module Stable
71
71
  ensure_caddy_running!
72
72
  caddy_reload
73
73
 
74
- puts 'Preparing database...'
75
- system("bash -lc 'rvm #{ruby}@#{name} do cd #{app_path} && bundle exec rails db:prepare'")
76
-
77
74
  # --- Start Rails server ---
78
75
  puts "Starting Rails server for #{name} on port #{port}..."
76
+
79
77
  log_file = File.join(app_path, 'log', 'stable.log')
80
78
  FileUtils.mkdir_p(File.dirname(log_file))
81
- pid = spawn("bash -lc 'rvm #{ruby}@#{name} do cd #{app_path} && RAILS_ENV=development bundle exec rails s -p #{port} >> #{log_file} 2>&1'")
79
+
80
+ cmd = <<~CMD
81
+ bash -lc '
82
+ set -e
83
+ cd "#{app_path}"
84
+
85
+ export RAILS_ENV=development
86
+ export BUNDLE_GEMFILE="#{app_path}/Gemfile"
87
+
88
+ rvm #{ruby}@#{name} do bundle check || bundle install
89
+ rvm #{ruby}@#{name} do bundle exec rails db:prepare
90
+
91
+ exec rvm #{ruby}@#{name} do bundle exec rails s \
92
+ -p #{port} \
93
+ -b 127.0.0.1
94
+ '
95
+ CMD
96
+
97
+ pid = spawn(cmd, out: log_file, err: log_file)
82
98
  Process.detach(pid)
83
99
 
84
100
  wait_for_port(port, timeout: 15)
@@ -161,33 +177,37 @@ module Stable
161
177
  log_file = File.join(app[:path], 'log', 'stable.log')
162
178
  FileUtils.mkdir_p(File.dirname(log_file))
163
179
 
164
- ruby_exec =
165
- if ruby
166
- if rvm_available?
167
- ensure_rvm_ruby!(ruby)
168
- "rvm #{ruby}@#{name} do"
169
- elsif rbenv_available?
170
- ensure_rbenv_ruby!(ruby)
171
- "RBENV_VERSION=#{ruby}"
172
- else
173
- puts 'No Ruby version manager found (rvm or rbenv)'
174
- return
175
- end
180
+ if ruby
181
+ if rvm_available?
182
+ ensure_rvm_ruby!(ruby)
183
+ "rvm #{ruby}@#{name} do"
184
+ elsif rbenv_available?
185
+ ensure_rbenv_ruby!(ruby)
186
+ "RBENV_VERSION=#{ruby}"
187
+ else
188
+ puts 'No Ruby version manager found (rvm or rbenv)'
189
+ return
176
190
  end
191
+ end
177
192
 
178
193
  cmd = <<~CMD
179
- cd #{app[:path]} &&
180
- #{ruby_exec} RAILS_ENV=development bundle exec rails s -p #{port}
181
- CMD
194
+ bash -lc '
195
+ set -e
196
+ cd "#{app_path}"
182
197
 
183
- pid = spawn(
184
- 'bash',
185
- '-lc',
186
- cmd,
187
- out: log_file,
188
- err: log_file
189
- )
198
+ export RAILS_ENV=development
199
+ export BUNDLE_GEMFILE="#{app_path}/Gemfile"
200
+
201
+ rvm #{ruby}@#{name} do bundle check || bundle install
202
+ rvm #{ruby}@#{name} do bundle exec rails db:prepare
203
+
204
+ exec rvm #{ruby}@#{name} do bundle exec rails s \
205
+ -p #{port} \
206
+ -b 127.0.0.1
207
+ '
208
+ CMD
190
209
 
210
+ pid = spawn(cmd, out: log_file, err: log_file)
191
211
  Process.detach(pid)
192
212
 
193
213
  generate_cert(app[:domain])
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: stable-cli-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.3
4
+ version: 0.6.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Danny Simfukwe