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.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/app.rb +15 -4
  3. metadata +20 -6
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: efb8892aa61b09c65a7ccf98090805b1462b040e
4
- data.tar.gz: a0931736b8dea82d11587069f3bbb38b612b76b9
3
+ metadata.gz: d58039bb6cd729e870a83d98eeff6a5696317a5e
4
+ data.tar.gz: e9c6c955190dd0e05f698c8179e1a97c319254ba
5
5
  SHA512:
6
- metadata.gz: 1df4039f66f024c7824a38b9b0116aca75ab03130e9d2ee266b2b09b050d7fb8f628d75bc742c057440ebc753cfe1451a4c2f1eabd7ec6b800ad92a394287aa6
7
- data.tar.gz: 6e1b314fb373d5fbc535d4af2f04d12b2845ebb13e1595265c45db1ce2fba8dafd5a94b1ada7e2715f6f941c188ae93f4006ad53e864d88bea725489f76cd805
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
- p Gem::Commands::PushCommand.new.send_gem(file)
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('index.rubygems.org', "/api/v1/dependencies.json?gems=#{gem_name}")
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
- push!(gem_name, version)
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 =~ /^#{gem_name} #{version}/
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.35
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: '0'
50
+ version: '2.6'
37
51
  requirements: []
38
52
  rubyforge_project:
39
53
  rubygems_version: 2.6.4