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