souls 0.31.0 → 0.31.1

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 378a3ef40cd5cbc43e093f65d122236ea79c69a26fb823a7666296f87b36221e
4
- data.tar.gz: 4396ee4d17f3c1dfeeaf68ba394cfa8252da1269cb8423438242387f4399dd93
3
+ metadata.gz: 6efcfd5a262a33c5d1323e9e2e423a8abf4d4e8f86783ce13bd1332bfe4c7fa7
4
+ data.tar.gz: 1553a17298b0c55dc273f6b18eacd3165868346501c2431f85ecc7e4444519b1
5
5
  SHA512:
6
- metadata.gz: 2686058accaf16fd46e5e54acd294f33296340812417af70c8c2a5730f05082e1bfa6837b60521b4f322b8352f7121094585007b360006ec997a5189958c3046
7
- data.tar.gz: e9730f1a4824de288bdb98385cfbb43e05ecd0353a9a49fd6079f5130bb958a238960ee73518e2dc0eaf424e9457ea111e945fa80567314fc93292fc20f8cfda
6
+ metadata.gz: 7e3b02ca9c947f4a9784ee07500fc2ed470e7d77f8a47e6d6ffe846860f8a769aa7a27d4ad84d735029445cd80e8e1f697959039049f771c00061948825d52ac
7
+ data.tar.gz: 6f4649ee64d7ccb0300a51ed87c0107ed12b696e4f212a4fac088b588766c709fe660f88fb6b3dc1b23452b0cedb8218e7e2f675ec62aee6065164e0a8ca0ab6
data/exe/souls CHANGED
@@ -96,7 +96,7 @@ begin
96
96
  status = Paint["Checking for updates...", :yellow]
97
97
  Whirly.start(spinner: "clock", interval: 420, stop: "🎉") do
98
98
  Whirly.status = status
99
- Souls.update_gemfile
99
+ Souls::Upgrade.update_gemfile
100
100
  Whirly.status = "Done!"
101
101
  end
102
102
  else
data/lib/souls.rb CHANGED
@@ -32,108 +32,6 @@ module Souls
32
32
  class << self
33
33
  attr_accessor :configuration
34
34
 
35
- def gemfile_latest_version
36
- file_path = "./Gemfile"
37
- updated_gems = []
38
- updated_gem_versions = []
39
- updated_lines = []
40
- from_dev = false
41
- File.open(file_path, "r") do |f|
42
- f.each_line do |line|
43
- from_dev = true if line.include?("group")
44
- next unless line.include?("gem ")
45
-
46
- gem = line.gsub("gem ", "").gsub("\"", "").gsub("\n", "").gsub(" ", "").split(",")
47
- url = URI("https://rubygems.org/api/v1/versions/#{gem[0]}/latest.json")
48
- res = Net::HTTP.get_response(url)
49
- data = JSON.parse(res.body)
50
- next if Souls.configuration.fixed_gems.include?(gem[0].to_s)
51
- next if data["version"].to_s == gem[1].to_s
52
-
53
- updated_lines << if from_dev
54
- " gem \"#{gem[0]}\", \"#{data['version']}\""
55
- else
56
- "gem \"#{gem[0]}\", \"#{data['version']}\""
57
- end
58
- updated_gems << (gem[0]).to_s
59
- updated_gem_versions << data["version"]
60
- system("gem update #{gem[0]}")
61
- end
62
- end
63
- {
64
- gems: updated_gems,
65
- lines: updated_lines,
66
- updated_gem_versions: updated_gem_versions
67
- }
68
- end
69
-
70
- def update_gemfile
71
- file_path = "./Gemfile"
72
- tmp_file = "./tmp/Gemfile"
73
- new_gems = gemfile_latest_version
74
- logs = []
75
- message = Paint["\nAlready Up to date!", :green]
76
- return "Already Up to date!" && puts(message) if new_gems[:gems].blank?
77
-
78
- @i = 0
79
- File.open(file_path, "r") do |f|
80
- File.open(tmp_file, "w") do |new_line|
81
- f.each_line do |line|
82
- gem = line.gsub("gem ", "").gsub("\"", "").gsub("\n", "").gsub(" ", "").split(",")
83
- if new_gems[:gems].include?(gem[0])
84
- old_ver = gem[1].split(".")
85
- new_ver = new_gems[:updated_gem_versions][@i].split(".")
86
- if old_ver[0] < new_ver[0]
87
- logs << Paint % [
88
- "#{gem[0]} v#{gem[1]} → %{red_text}",
89
- :white,
90
- {
91
- red_text: ["v#{new_gems[:updated_gem_versions][@i]}", :red]
92
- }
93
- ]
94
- elsif old_ver[1] < new_ver[1]
95
- logs << Paint % [
96
- "#{gem[0]} v#{gem[1]} → v#{new_ver[0]}.%{yellow_text}",
97
- :white,
98
- {
99
- yellow_text: ["#{new_ver[1]}.#{new_ver[2]}", :yellow]
100
- }
101
- ]
102
- elsif old_ver[2] < new_ver[2]
103
- logs << Paint % [
104
- "#{gem[0]} v#{gem[1]} → v#{new_ver[0]}.#{new_ver[1]}.%{green_text}",
105
- :white,
106
- {
107
- green_text: [(new_ver[2]).to_s, :green]
108
- }
109
- ]
110
- end
111
- if gem[0] == "souls"
112
- logs << Paint % [
113
- "\nSOULs Doc: %{cyan_text}",
114
- :white,
115
- { cyan_text: ["https://souls.elsoul.nl\n", :cyan] }
116
- ]
117
- end
118
- new_line.write("#{new_gems[:lines][@i]}\n")
119
- @i += 1
120
- else
121
- new_line.write(line)
122
- end
123
- end
124
- end
125
- end
126
- FileUtils.rm("./Gemfile")
127
- FileUtils.rm("./Gemfile.lock")
128
- FileUtils.mv("./tmp/Gemfile", "./Gemfile")
129
- system("bundle update")
130
- success = Paint["\n\nSuccessfully Updated These Gems!\n", :green]
131
- puts(success)
132
- logs.each do |line|
133
- puts(line)
134
- end
135
- end
136
-
137
35
  def update_repo(service_name: "api", update_kind: "patch")
138
36
  current_dir_name = FileUtils.pwd.to_s.match(%r{/([^/]+)/?$})[1]
139
37
  current_ver = get_latest_version_txt(service_name: service_name)
@@ -249,24 +147,6 @@ module Souls
249
147
  puts(Paint["\nSuccessfully Updated #{service_name} Gemfile!", :green])
250
148
  end
251
149
 
252
- def file_diff(paths = [])
253
- paths.map do |path|
254
- stat(path)[:last_update]
255
- end
256
- end
257
-
258
- def stat(path)
259
- s = File::Stat.new(path)
260
- last_update = s.mtime.to_s
261
- last_status_change = s.ctime.to_s
262
- last_access = s.atime.to_s
263
- {
264
- last_update: last_update,
265
- last_status_change: last_status_change,
266
- last_access: last_access
267
- }
268
- end
269
-
270
150
  def check_schema(class_name: "user")
271
151
  schema_data = get_columns_num(class_name: class_name)
272
152
  create_migration_data = get_create_migration_type(class_name: class_name)
data/lib/souls/cli.rb CHANGED
@@ -2,6 +2,7 @@ require_relative "./cli/docker"
2
2
  require_relative "./cli/gcloud"
3
3
  require_relative "./cli/release"
4
4
  require_relative "./cli/sync"
5
+ require_relative "./cli/upgrade"
5
6
 
6
7
  module Souls
7
8
  end
@@ -16,6 +16,24 @@ module Souls
16
16
 
17
17
  private
18
18
 
19
+ def file_diff(paths = [])
20
+ paths.map do |path|
21
+ stat(path)[:last_update]
22
+ end
23
+ end
24
+
25
+ def stat(path)
26
+ s = File::Stat.new(path)
27
+ last_update = s.mtime.to_s
28
+ last_status_change = s.ctime.to_s
29
+ last_access = s.atime.to_s
30
+ {
31
+ last_update: last_update,
32
+ last_status_change: last_status_change,
33
+ last_access: last_access
34
+ }
35
+ end
36
+
19
37
  def cp_and_dl_files(api_dir: "", worker_dir: "")
20
38
  if Dir["#{worker_dir}/*.rb"].blank?
21
39
 
@@ -0,0 +1,5 @@
1
+ require_relative "./upgrade/gem_update"
2
+ module Souls
3
+ module Upgrade
4
+ end
5
+ end
@@ -0,0 +1,107 @@
1
+ module Souls
2
+ module Upgrade
3
+ class << self
4
+ def gemfile_latest_version
5
+ file_path = "./Gemfile"
6
+ updated_gems = []
7
+ updated_gem_versions = []
8
+ updated_lines = []
9
+ from_dev = false
10
+ File.open(file_path, "r") do |f|
11
+ f.each_line do |line|
12
+ from_dev = true if line.include?("group")
13
+ next unless line.include?("gem ")
14
+
15
+ gem = line.gsub("gem ", "").gsub("\"", "").gsub("\n", "").gsub(" ", "").split(",")
16
+ url = URI("https://rubygems.org/api/v1/versions/#{gem[0]}/latest.json")
17
+ res = Net::HTTP.get_response(url)
18
+ data = JSON.parse(res.body)
19
+ next if Souls.configuration.fixed_gems.include?(gem[0].to_s)
20
+ next if data["version"].to_s == gem[1].to_s
21
+
22
+ updated_lines << if from_dev
23
+ " gem \"#{gem[0]}\", \"#{data['version']}\""
24
+ else
25
+ "gem \"#{gem[0]}\", \"#{data['version']}\""
26
+ end
27
+ updated_gems << (gem[0]).to_s
28
+ updated_gem_versions << data["version"]
29
+ system("gem update #{gem[0]}")
30
+ end
31
+ end
32
+ {
33
+ gems: updated_gems,
34
+ lines: updated_lines,
35
+ updated_gem_versions: updated_gem_versions
36
+ }
37
+ end
38
+
39
+ def update_gemfile
40
+ file_path = "./Gemfile"
41
+ tmp_file = "./tmp/Gemfile"
42
+ new_gems = gemfile_latest_version
43
+ logs = []
44
+ message = Paint["\nAlready Up to date!", :green]
45
+ return "Already Up to date!" && puts(message) if new_gems[:gems].blank?
46
+
47
+ @i = 0
48
+ File.open(file_path, "r") do |f|
49
+ File.open(tmp_file, "w") do |new_line|
50
+ f.each_line do |line|
51
+ gem = line.gsub("gem ", "").gsub("\"", "").gsub("\n", "").gsub(" ", "").split(",")
52
+ if new_gems[:gems].include?(gem[0])
53
+ old_ver = gem[1].split(".")
54
+ new_ver = new_gems[:updated_gem_versions][@i].split(".")
55
+ if old_ver[0] < new_ver[0]
56
+ logs << Paint % [
57
+ "#{gem[0]} v#{gem[1]} → %{red_text}",
58
+ :white,
59
+ {
60
+ red_text: ["v#{new_gems[:updated_gem_versions][@i]}", :red]
61
+ }
62
+ ]
63
+ elsif old_ver[1] < new_ver[1]
64
+ logs << Paint % [
65
+ "#{gem[0]} v#{gem[1]} → v#{new_ver[0]}.%{yellow_text}",
66
+ :white,
67
+ {
68
+ yellow_text: ["#{new_ver[1]}.#{new_ver[2]}", :yellow]
69
+ }
70
+ ]
71
+ elsif old_ver[2] < new_ver[2]
72
+ logs << Paint % [
73
+ "#{gem[0]} v#{gem[1]} → v#{new_ver[0]}.#{new_ver[1]}.%{green_text}",
74
+ :white,
75
+ {
76
+ green_text: [(new_ver[2]).to_s, :green]
77
+ }
78
+ ]
79
+ end
80
+ if gem[0] == "souls"
81
+ logs << Paint % [
82
+ "\nSOULs Doc: %{cyan_text}",
83
+ :white,
84
+ { cyan_text: ["https://souls.elsoul.nl\n", :cyan] }
85
+ ]
86
+ end
87
+ new_line.write("#{new_gems[:lines][@i]}\n")
88
+ @i += 1
89
+ else
90
+ new_line.write(line)
91
+ end
92
+ end
93
+ end
94
+ end
95
+ FileUtils.rm("./Gemfile")
96
+ FileUtils.rm("./Gemfile.lock")
97
+ FileUtils.mv("./tmp/Gemfile", "./Gemfile")
98
+ system("bundle update")
99
+ success = Paint["\n\nSuccessfully Updated These Gems!\n", :green]
100
+ puts(success)
101
+ logs.each do |line|
102
+ puts(line)
103
+ end
104
+ end
105
+ end
106
+ end
107
+ end
data/lib/souls/version.rb CHANGED
@@ -1,4 +1,4 @@
1
1
  module Souls
2
- VERSION = "0.31.0".freeze
2
+ VERSION = "0.31.1".freeze
3
3
  public_constant :VERSION
4
4
  end
@@ -1 +1 @@
1
- 0.10.0
1
+ 0.10.1
@@ -1 +1 @@
1
- 0.10.0
1
+ 0.10.1
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: souls
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.31.0
4
+ version: 0.31.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - POPPIN-FUMI
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: exe
12
12
  cert_chain: []
13
- date: 2021-08-18 00:00:00.000000000 Z
13
+ date: 2021-08-19 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: activesupport
@@ -138,6 +138,8 @@ files:
138
138
  - lib/souls/cli/release/release.rb
139
139
  - lib/souls/cli/sync.rb
140
140
  - lib/souls/cli/sync/model.rb
141
+ - lib/souls/cli/upgrade.rb
142
+ - lib/souls/cli/upgrade/gem_update.rb
141
143
  - lib/souls/init.rb
142
144
  - lib/souls/version.rb
143
145
  - lib/souls/versions/.souls_api_version