test-gem-push 2016.08.08.21.08.28 → 2016.08.08.21.11.00
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/app.rb +14 -10
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: becfa05603bf1ca3f442ac931a9321a632828964
|
4
|
+
data.tar.gz: 380877647115f65c10dbe26d5acd60ea18f60f79
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 079662af8241462a66cf13ed9726ac4baf73b1a4fc20ebb543990678d040b042d377212ef95a9e1f03fe4aad7d01737919cf9c702d31e1a77f5da03ec1fad213
|
7
|
+
data.tar.gz: 914d619f9e6b1a1a676f7158c044c2c253f3605f3bc7f868ed50b1b3c248915836423fde42e72717e1cc7bae08afecd6a1c389274ee1ccbf587f7bb62424b358
|
data/app.rb
CHANGED
@@ -68,29 +68,33 @@ get '/' do
|
|
68
68
|
halt 500, "Failed to push: #{$ERROR_INFO}"
|
69
69
|
end
|
70
70
|
|
71
|
+
errors = []
|
72
|
+
|
71
73
|
new_gem = get_dependency_api(gem_name) - dependency_endpoint
|
72
74
|
case new_gem.size
|
73
|
-
when 0 then
|
75
|
+
when 0 then errors << 'gem not added to dependency API'
|
74
76
|
when 1
|
75
77
|
unless new_gem.first.values_at('name', 'number', 'platform', 'dependencies') == [gem_name, version, 'ruby', [['foo', '~> 1.0']]]
|
76
|
-
|
78
|
+
errors << "wrong gem added: #{new_gem}"
|
77
79
|
end
|
78
|
-
else
|
80
|
+
else errors << "too many new gems added: #{new_gem}"
|
79
81
|
end
|
80
82
|
|
81
|
-
sleep 5
|
82
83
|
new_versions = versions - get_versions.lines
|
83
84
|
unless new_versions.find { |l| l.start_with?("#{gem_name} #{version}") }
|
84
|
-
|
85
|
-
halt 404, 'gem not added to versions file'
|
85
|
+
errors << 'gem not added to versions file'
|
86
86
|
end
|
87
87
|
|
88
88
|
new_info = get_info(gem_name).lines - info
|
89
89
|
case new_info.size
|
90
|
-
when 0 then
|
91
|
-
when 1 then
|
92
|
-
else
|
90
|
+
when 0 then errors << 'gem not added to dependency API'
|
91
|
+
when 1 then errors << "wrong gem added: #{new_info}" unless new_info =~ /^#{version} /
|
92
|
+
else errors << "too many new gems added: #{new_info}"
|
93
93
|
end
|
94
94
|
|
95
|
-
|
95
|
+
if errors.empty?
|
96
|
+
halt "successfully pushed #{gem_name}-#{version}"
|
97
|
+
else
|
98
|
+
halt 404, errors.join("\n")
|
99
|
+
end
|
96
100
|
end
|