segiddins-test-gem 0.0.0.35 → 0.0.0.36
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 +15 -4
- metadata +20 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d58039bb6cd729e870a83d98eeff6a5696317a5e
|
4
|
+
data.tar.gz: e9c6c955190dd0e05f698c8179e1a97c319254ba
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 59b121907ae9acc8dd477bd0793898429b172f45c75f075d2ab4d3a6ffa27d9e91894256031a35bafdfd9b8bcf6210566ad1c52148fb92c0db74cf5788fbe1cf
|
7
|
+
data.tar.gz: c18c2563cd94ed46137f0997562b8f90d320750d41c6569fdb30a31eb0cee0f78c46fd905e2caef32d57d3e46cf45fbfe64e980e64f951670cb8bcaa0020b3e8
|
data/app.rb
CHANGED
@@ -25,15 +25,18 @@ def push!(name, version)
|
|
25
25
|
s.authors = ['example@example.com']
|
26
26
|
s.files = [__FILE__]
|
27
27
|
s.summary = 'test'
|
28
|
+
s.required_ruby_version = '~> 2.0'
|
29
|
+
s.required_rubygems_version = '~> 2.6'
|
30
|
+
s.add_dependency 'foo', '~> 1.0'
|
28
31
|
end
|
29
32
|
file = Gem::Package.build(spec)
|
30
|
-
|
33
|
+
Gem::Commands::PushCommand.new.send_gem(file)
|
31
34
|
ensure
|
32
35
|
File.delete(file)
|
33
36
|
end
|
34
37
|
|
35
38
|
def get_dependency_api(gem_name)
|
36
|
-
get_json('
|
39
|
+
get_json('bundler.rubygems.org', "/api/v1/dependencies.json?gems=#{gem_name}")
|
37
40
|
end
|
38
41
|
|
39
42
|
def get_versions
|
@@ -54,7 +57,15 @@ get "/" do
|
|
54
57
|
versions = get_versions.lines
|
55
58
|
info = get_info(gem_name).lines
|
56
59
|
|
57
|
-
|
60
|
+
if dependency_endpoint.find { |g| g['version'] == version }
|
61
|
+
halt 422, "#{gem_name}-#{version} already was pushed"
|
62
|
+
end
|
63
|
+
|
64
|
+
begin
|
65
|
+
push!(gem_name, version)
|
66
|
+
rescue Gem::SystemExitException
|
67
|
+
halt 500, "Failed to push: #{$!}"
|
68
|
+
end
|
58
69
|
|
59
70
|
new_gem = get_dependency_api(gem_name) - dependency_endpoint
|
60
71
|
case new_gem.size
|
@@ -71,7 +82,7 @@ get "/" do
|
|
71
82
|
new_info = get_info(gem_name).lines - info
|
72
83
|
case new_info.size
|
73
84
|
when 0 then halt 404, "gem not added to dependency API"
|
74
|
-
when 1 then halt 404, "wrong gem added: #{new_info}" unless new_info =~ /^#{
|
85
|
+
when 1 then halt 404, "wrong gem added: #{new_info}" unless new_info =~ /^#{version} /
|
75
86
|
else halt 404, "too many new gems added: #{new_info}"
|
76
87
|
end
|
77
88
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: segiddins-test-gem
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.0.
|
4
|
+
version: 0.0.0.36
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- example@example.com
|
@@ -9,7 +9,21 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
date: 2016-06-10 00:00:00.000000000 Z
|
12
|
-
dependencies:
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: foo
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '1.0'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '1.0'
|
13
27
|
description:
|
14
28
|
email:
|
15
29
|
executables: []
|
@@ -26,14 +40,14 @@ require_paths:
|
|
26
40
|
- lib
|
27
41
|
required_ruby_version: !ruby/object:Gem::Requirement
|
28
42
|
requirements:
|
29
|
-
- - "
|
43
|
+
- - "~>"
|
30
44
|
- !ruby/object:Gem::Version
|
31
|
-
version: '0'
|
45
|
+
version: '2.0'
|
32
46
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
33
47
|
requirements:
|
34
|
-
- - "
|
48
|
+
- - "~>"
|
35
49
|
- !ruby/object:Gem::Version
|
36
|
-
version: '
|
50
|
+
version: '2.6'
|
37
51
|
requirements: []
|
38
52
|
rubyforge_project:
|
39
53
|
rubygems_version: 2.6.4
|