souls 0.31.0 → 0.31.1

Sign up to get free protection for your applications and to get access to all the features.
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