souls 0.22.5 → 0.22.6
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/Gemfile +1 -0
- data/Gemfile.lock +5 -2
- data/exe/souls +6 -1
- data/lib/souls.rb +47 -9
- data/lib/souls/version.rb +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: bd2faa6f8e7051a032899708b1dd4bb76d7b26d4356152524033c8d5c681d53c
|
|
4
|
+
data.tar.gz: c348b3a03e2d0424194840c35b30406d5ce8915eb38fe0f98dab027a254d76fb
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 1540b390438a9f73da430fa2ffa7fa29bd134ab043e2aec9e5758f6b26ea381be1990050a6c8c77b2fe1293aadab086937c2b8dd0f93fda84eb72696ef9000a8
|
|
7
|
+
data.tar.gz: c3de92ab1a4305b7e4ca21cb07f31c3ee3e849d18c8d702892394fb761d42bd7cc8f778b35c4f4766af4083e6a1d6e150d71f9d43c2d8cb1d5cf653f2f945d50
|
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
souls (0.22.
|
|
4
|
+
souls (0.22.5)
|
|
5
5
|
|
|
6
6
|
GEM
|
|
7
7
|
remote: https://rubygems.org/
|
|
@@ -57,7 +57,7 @@ GEM
|
|
|
57
57
|
rubocop-ast (>= 1.7.0, < 2.0)
|
|
58
58
|
ruby-progressbar (~> 1.7)
|
|
59
59
|
unicode-display_width (>= 1.4.0, < 3.0)
|
|
60
|
-
rubocop-ast (1.
|
|
60
|
+
rubocop-ast (1.8.0)
|
|
61
61
|
parser (>= 3.0.1.1)
|
|
62
62
|
ruby-progressbar (1.11.0)
|
|
63
63
|
steep (0.44.1)
|
|
@@ -74,6 +74,8 @@ GEM
|
|
|
74
74
|
tzinfo (2.0.4)
|
|
75
75
|
concurrent-ruby (~> 1.0)
|
|
76
76
|
unicode-display_width (2.0.0)
|
|
77
|
+
whirly (0.3.0)
|
|
78
|
+
unicode-display_width (>= 1.1)
|
|
77
79
|
zeitwerk (2.4.2)
|
|
78
80
|
|
|
79
81
|
PLATFORMS
|
|
@@ -88,6 +90,7 @@ DEPENDENCIES
|
|
|
88
90
|
rubocop (= 1.18.3)
|
|
89
91
|
souls!
|
|
90
92
|
steep (= 0.44.1)
|
|
93
|
+
whirly (= 0.3.0)
|
|
91
94
|
|
|
92
95
|
BUNDLED WITH
|
|
93
96
|
2.2.23
|
data/exe/souls
CHANGED
|
@@ -48,7 +48,12 @@ begin
|
|
|
48
48
|
when "-v", "--version"
|
|
49
49
|
puts Souls::VERSION
|
|
50
50
|
when "gem:update", "gemfile:update"
|
|
51
|
-
|
|
51
|
+
status = Paint["Checking for updates...", :yellow]
|
|
52
|
+
Whirly.start spinner: "clock", color: :false, interval: 1000, stop: "🎉" do
|
|
53
|
+
Whirly.status = status
|
|
54
|
+
Souls.update_gemfile
|
|
55
|
+
Whirly.status = "Done!"
|
|
56
|
+
end
|
|
52
57
|
when "add"
|
|
53
58
|
case ARGV[1]
|
|
54
59
|
when "mutation"
|
data/lib/souls.rb
CHANGED
|
@@ -7,6 +7,7 @@ require "json"
|
|
|
7
7
|
require "fileutils"
|
|
8
8
|
require "net/http"
|
|
9
9
|
require "paint"
|
|
10
|
+
require "whirly"
|
|
10
11
|
|
|
11
12
|
module Souls
|
|
12
13
|
SOULS_METHODS = [
|
|
@@ -54,6 +55,23 @@ module Souls
|
|
|
54
55
|
system "gcloud scheduler jobs create http #{app}-awake --schedule '0,10,20,30,40,50 * * * *' --uri #{url} --http-method GET"
|
|
55
56
|
end
|
|
56
57
|
|
|
58
|
+
def show_wait_spinner(fps = 10)
|
|
59
|
+
chars = %w[| / - \\]
|
|
60
|
+
delay = 1.0 / fps
|
|
61
|
+
iter = 0
|
|
62
|
+
spinner = Thread.new do
|
|
63
|
+
while iter
|
|
64
|
+
print chars[(iter += 1) % chars.length]
|
|
65
|
+
sleep delay
|
|
66
|
+
print "\b"
|
|
67
|
+
end
|
|
68
|
+
end
|
|
69
|
+
yield.tap do
|
|
70
|
+
iter = false
|
|
71
|
+
spinner.join
|
|
72
|
+
end
|
|
73
|
+
end
|
|
74
|
+
|
|
57
75
|
def gemfile_latest_version
|
|
58
76
|
file_path = "./Gemfile"
|
|
59
77
|
updated_gems = []
|
|
@@ -94,21 +112,41 @@ module Souls
|
|
|
94
112
|
tmp_file = "./tmp/Gemfile"
|
|
95
113
|
new_gems = gemfile_latest_version
|
|
96
114
|
logs = []
|
|
97
|
-
|
|
115
|
+
message = Paint["\nAlready Up to date!", :green]
|
|
116
|
+
return "Already Up to date!" && puts(message) if new_gems[:gems].blank?
|
|
98
117
|
@i = 0
|
|
99
118
|
File.open(file_path, "r") do |f|
|
|
100
119
|
File.open(tmp_file, "w") do |new_line|
|
|
101
120
|
f.each_line do |line|
|
|
102
121
|
gem = line.gsub("gem ", "").gsub("\"", "").gsub("\n", "").gsub(" ", "").split(",")
|
|
103
122
|
if new_gems[:gems].include? gem[0]
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
123
|
+
old_ver = gem[1].split(".")
|
|
124
|
+
new_ver = new_gems[:updated_gem_versions][@i].split(".")
|
|
125
|
+
if old_ver[0] < new_ver[0]
|
|
126
|
+
logs << Paint % [
|
|
127
|
+
"#{gem[0]} v#{gem[1]} → %{red_text}",
|
|
128
|
+
:white,
|
|
129
|
+
{
|
|
130
|
+
red_text: ["v#{new_gems[:updated_gem_versions][@i]}", :red]
|
|
131
|
+
}
|
|
132
|
+
]
|
|
133
|
+
elsif old_ver[1] < new_ver[1]
|
|
134
|
+
logs << Paint % [
|
|
135
|
+
"#{gem[0]} v#{gem[1]} → v#{new_ver[0]}.%{yellow_text}",
|
|
136
|
+
:white,
|
|
137
|
+
{
|
|
138
|
+
yellow_text: ["#{new_ver[1]}.#{new_ver[2]}", :yellow]
|
|
139
|
+
}
|
|
140
|
+
]
|
|
141
|
+
elsif old_ver[2] < new_ver[2]
|
|
142
|
+
logs << Paint % [
|
|
143
|
+
"#{gem[0]} v#{gem[1]} → v#{new_ver[0]}.#{new_ver[1]}.%{green_text}",
|
|
144
|
+
:white,
|
|
145
|
+
{
|
|
146
|
+
green_text: [(new_ver[2]).to_s, :green]
|
|
147
|
+
}
|
|
148
|
+
]
|
|
149
|
+
end
|
|
112
150
|
new_line.write "#{new_gems[:lines][@i]}\n"
|
|
113
151
|
@i += 1
|
|
114
152
|
else
|
data/lib/souls/version.rb
CHANGED