segiddins-test-gem 0.0.0.17 → 0.0.0.35

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 +6 -21
  3. metadata +6 -20
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e8022534b21b7847bd4e4eb661feb022eacc646f
4
- data.tar.gz: dd376d17a3bf510207e6739fd4f3434ea9a0a0e0
3
+ metadata.gz: efb8892aa61b09c65a7ccf98090805b1462b040e
4
+ data.tar.gz: a0931736b8dea82d11587069f3bbb38b612b76b9
5
5
  SHA512:
6
- metadata.gz: fe7f34c64f0d3da47c7a06c93ac3d7d6ae52046b4e0a47249d1616c5ae59f42e628ee372a78bd8395195a0a053b39b1af9c1193a0c02c4a7be0167580bbf437f
7
- data.tar.gz: 799b59ae6df56645a310697aa2c44691917177f66d1c6a9e008d43fc412690fda83a83a69179b2360d0e8e9caf22105d3a37aea53b504908ebaa1458aac66a4e
6
+ metadata.gz: 1df4039f66f024c7824a38b9b0116aca75ab03130e9d2ee266b2b09b050d7fb8f628d75bc742c057440ebc753cfe1451a4c2f1eabd7ec6b800ad92a394287aa6
7
+ data.tar.gz: 6e1b314fb373d5fbc535d4af2f04d12b2845ebb13e1595265c45db1ce2fba8dafd5a94b1ada7e2715f6f941c188ae93f4006ad53e864d88bea725489f76cd805
data/app.rb CHANGED
@@ -25,18 +25,15 @@ 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'
31
28
  end
32
29
  file = Gem::Package.build(spec)
33
- Gem::Commands::PushCommand.new.send_gem(file)
30
+ p Gem::Commands::PushCommand.new.send_gem(file)
34
31
  ensure
35
32
  File.delete(file)
36
33
  end
37
34
 
38
35
  def get_dependency_api(gem_name)
39
- get_json('bundler.rubygems.org', "/api/v1/dependencies.json?gems=#{gem_name}")
36
+ get_json('index.rubygems.org', "/api/v1/dependencies.json?gems=#{gem_name}")
40
37
  end
41
38
 
42
39
  def get_versions
@@ -47,7 +44,7 @@ def get_info(name)
47
44
  Net::HTTP.get('index.rubygems.org', "/info/#{name}")
48
45
  end
49
46
 
50
- post "/" do
47
+ get "/" do
51
48
  halt 401, "token does not match" unless ENV["TOKEN"] == params['token']
52
49
 
53
50
  version = params.fetch('version') { Time.now.strftime("%Y.%m.%d.%H.%M.%S") }
@@ -57,36 +54,24 @@ post "/" do
57
54
  versions = get_versions.lines
58
55
  info = get_info(gem_name).lines
59
56
 
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
57
+ push!(gem_name, version)
69
58
 
70
59
  new_gem = get_dependency_api(gem_name) - dependency_endpoint
71
60
  case new_gem.size
72
61
  when 0 then halt 404, "gem not added to dependency API"
73
- when 1
74
- unless new_gem.first.values_at('name', 'number', 'platform', 'dependencies') == [gem_name, version, 'ruby', [['foo', '~> 1.0']]]
75
- halt 404, "wrong gem added: #{new_gem}"
76
- end
62
+ when 1 then halt 404, "wrong gem added: #{new_gem}" unless new_gem.values_at('name', 'version') == [gem_name, version]
77
63
  else halt 404, "too many new gems added: #{new_gem}"
78
64
  end
79
65
 
80
66
  new_versions = versions - get_versions.lines
81
67
  unless new_versions.find { |l| l == "#{gem_name} #{version}" }
82
- puts new_versions
83
68
  halt 404, "gem not added to versions file"
84
69
  end
85
70
 
86
71
  new_info = get_info(gem_name).lines - info
87
72
  case new_info.size
88
73
  when 0 then halt 404, "gem not added to dependency API"
89
- when 1 then halt 404, "wrong gem added: #{new_info}" unless new_info =~ /^#{version} /
74
+ when 1 then halt 404, "wrong gem added: #{new_info}" unless new_info =~ /^#{gem_name} #{version}/
90
75
  else halt 404, "too many new gems added: #{new_info}"
91
76
  end
92
77
 
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.17
4
+ version: 0.0.0.35
5
5
  platform: ruby
6
6
  authors:
7
7
  - example@example.com
@@ -9,21 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
  date: 2016-06-10 00:00:00.000000000 Z
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'
12
+ dependencies: []
27
13
  description:
28
14
  email:
29
15
  executables: []
@@ -40,14 +26,14 @@ require_paths:
40
26
  - lib
41
27
  required_ruby_version: !ruby/object:Gem::Requirement
42
28
  requirements:
43
- - - "~>"
29
+ - - ">="
44
30
  - !ruby/object:Gem::Version
45
- version: '2.0'
31
+ version: '0'
46
32
  required_rubygems_version: !ruby/object:Gem::Requirement
47
33
  requirements:
48
- - - "~>"
34
+ - - ">="
49
35
  - !ruby/object:Gem::Version
50
- version: '2.6'
36
+ version: '0'
51
37
  requirements: []
52
38
  rubyforge_project:
53
39
  rubygems_version: 2.6.4