souls 0.26.7 → 0.26.8
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.
- 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
|