segiddins-test-gem 0.0.0.35 → 0.0.0.36

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