souls 0.26.7 → 0.26.8
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/exe/souls +7 -2
- data/lib/souls.rb +66 -0
- data/lib/souls/init.rb +3 -0
- data/lib/souls/version.rb +1 -1
- data/lib/souls/versions/.souls_api_version +1 -1
- data/lib/souls/versions/.souls_worker_version +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a5e58498e4d755e83b5b9244c9eebdfa08e9c9bbd2f6d006cbea2e87be99a463
|
4
|
+
data.tar.gz: 3148268dccdb03f49bd29105867ac5dcca44fdef43ed85855e93b0d9f30199d4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2ab89d13dc49261853b81780a105e672830410b3dc836e8a605e37f5359bffb82abfe4bb8ff8abcf813a0089efea78536cd6c113663bf7d033584f2f8da2611d
|
7
|
+
data.tar.gz: 9aa074b6bb0d4ff2c2f50808abcc4b6750d88c55ec6f7d2381535001e73c6c813e34a84cda7d87a173619c26a1f61aa9193d44bafe5a21af707f19b57b01b168
|
data/exe/souls
CHANGED
@@ -55,8 +55,13 @@ begin
|
|
55
55
|
end
|
56
56
|
when "release"
|
57
57
|
Souls::Release.return_method
|
58
|
-
when "update"
|
59
|
-
|
58
|
+
when "model:update"
|
59
|
+
status = Paint["Updating Models...", :yellow]
|
60
|
+
Whirly.start(spinner: "clock", interval: 420, stop: "🎉") do
|
61
|
+
Whirly.status = status
|
62
|
+
Souls.update_models
|
63
|
+
Whirly.status = "Done!"
|
64
|
+
end
|
60
65
|
when "add"
|
61
66
|
graphql_class = ARGV[1]
|
62
67
|
case graphql_class
|
data/lib/souls.rb
CHANGED
@@ -282,6 +282,72 @@ module Souls
|
|
282
282
|
puts(Paint["\nSuccessfully Updated #{service_name} Gemfile!", :green])
|
283
283
|
end
|
284
284
|
|
285
|
+
def update_models
|
286
|
+
current_dir_name = FileUtils.pwd.to_s.match(%r{/([^/]+)/?$})[1]
|
287
|
+
permitted_dirs = %w[worker api]
|
288
|
+
unless permitted_dirs.include?(current_dir_name)
|
289
|
+
raise(StandardError, "You are at wrong directory!Go to API or Worker Directory!")
|
290
|
+
end
|
291
|
+
|
292
|
+
cp_dir = get_models_path(service_name: current_dir_name)
|
293
|
+
cp_dir.each do |path|
|
294
|
+
cp_and_dl_files(api_dir: path[:api], worker_dir: path[:worker])
|
295
|
+
end
|
296
|
+
end
|
297
|
+
|
298
|
+
def cp_and_dl_files(api_dir: "", worker_dir: "")
|
299
|
+
api_file_data = file_diff(Dir["#{api_dir}/*.rb"])
|
300
|
+
worker_file_data = file_diff(Dir["#{worker_dir}/*.rb"])
|
301
|
+
|
302
|
+
api_latest_date = Date.parse(api_file_data.max)
|
303
|
+
worker_latest_date = Date.parse(worker_file_data.max)
|
304
|
+
|
305
|
+
if api_latest_date > worker_latest_date
|
306
|
+
FileUtils.rm_rf(api_dir)
|
307
|
+
FileUtils.mkdir(api_dir) unless Dir.exist?(api_dir)
|
308
|
+
system("cp -r #{worker_dir}/* #{api_dir}")
|
309
|
+
else
|
310
|
+
FileUtils.rm_rf(worker_dir)
|
311
|
+
FileUtils.mkdir(worker_dir) unless Dir.exist?(worker_dir)
|
312
|
+
system("cp -r #{api_dir}/* #{worker_dir}")
|
313
|
+
end
|
314
|
+
end
|
315
|
+
|
316
|
+
def get_models_path(service_name: "api")
|
317
|
+
[
|
318
|
+
{
|
319
|
+
api: "../#{service_name}/db",
|
320
|
+
worker: "./db"
|
321
|
+
},
|
322
|
+
{
|
323
|
+
api: "../#{service_name}/app/models",
|
324
|
+
worker: "./app/models"
|
325
|
+
},
|
326
|
+
{
|
327
|
+
api: "../#{service_name}/spec/factories",
|
328
|
+
worker: "./spec/factories"
|
329
|
+
}
|
330
|
+
]
|
331
|
+
end
|
332
|
+
|
333
|
+
def file_diff(paths = [])
|
334
|
+
paths.map do |path|
|
335
|
+
stat(path)[:last_update]
|
336
|
+
end
|
337
|
+
end
|
338
|
+
|
339
|
+
def stat(path)
|
340
|
+
s = File::Stat.new(path)
|
341
|
+
last_update = s.mtime.to_s
|
342
|
+
last_status_change = s.ctime.to_s
|
343
|
+
last_access = s.atime.to_s
|
344
|
+
{
|
345
|
+
last_update: last_update,
|
346
|
+
last_status_change: last_status_change,
|
347
|
+
last_access: last_access
|
348
|
+
}
|
349
|
+
end
|
350
|
+
|
285
351
|
def detect_change
|
286
352
|
git_status = `git status`
|
287
353
|
result =
|
data/lib/souls/init.rb
CHANGED
@@ -135,6 +135,9 @@ module Souls
|
|
135
135
|
|
136
136
|
def self.download_worker
|
137
137
|
current_dir_name = FileUtils.pwd.to_s.match(%r{/([^/]+)/?$})[1]
|
138
|
+
wrong_dir = %w[apps api worker]
|
139
|
+
raise(StandardError, "You are at wrong directory!Go to Mother Directory!") if wrong_dir.include?(current_dir_name)
|
140
|
+
|
138
141
|
version = Souls.get_latest_version_txt(service_name: "worker").join(".")
|
139
142
|
file_name = "worker-v#{version}.tgz"
|
140
143
|
url = "https://storage.googleapis.com/souls-bucket/boilerplates/workers/#{file_name}"
|
data/lib/souls/version.rb
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.5.
|
1
|
+
0.5.8
|
@@ -1 +1 @@
|
|
1
|
-
0.5.
|
1
|
+
0.5.8
|