segiddins-test-gem 0.0.0.36 → 0.0.1

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 (4) hide show
  1. checksums.yaml +4 -4
  2. data/segiddins-test-gem.gemspec +7 -0
  3. metadata +11 -24
  4. data/app.rb +0 -90
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d58039bb6cd729e870a83d98eeff6a5696317a5e
4
- data.tar.gz: e9c6c955190dd0e05f698c8179e1a97c319254ba
3
+ metadata.gz: 63fd55111e1ff539945cc859901fe39c7bb15be2
4
+ data.tar.gz: dcdaaa38f1c5a489145f6fe121c4f317affeb379
5
5
  SHA512:
6
- metadata.gz: 59b121907ae9acc8dd477bd0793898429b172f45c75f075d2ab4d3a6ffa27d9e91894256031a35bafdfd9b8bcf6210566ad1c52148fb92c0db74cf5788fbe1cf
7
- data.tar.gz: c18c2563cd94ed46137f0997562b8f90d320750d41c6569fdb30a31eb0cee0f78c46fd905e2caef32d57d3e46cf45fbfe64e980e64f951670cb8bcaa0020b3e8
6
+ metadata.gz: 82ed1cdc9bfdc371d5b726e86ba82c3dbdaf280a0501d700ec146e14dc1d32430435cdbebf596bc4c3313d20d8846d82dc337a2d02645074d12f45b4781e01de
7
+ data.tar.gz: bbab7d192b30e86331254bfc102adca7a4b44dcedd0f1ca869ae801891f0a120739cee3b057fb9aabc7f66513cbefea54015768c7a5c4efebfbc6bfde123129a
@@ -0,0 +1,7 @@
1
+ Gem::Specification.new do |s|
2
+ s.name = 'segiddins-test-gem'
3
+ s.authors = ['segiddins@segiddins.me']
4
+ s.version = '0.0.1'
5
+ s.files = [__FILE__]
6
+ s.summary = 'test'
7
+ end
metadata CHANGED
@@ -1,36 +1,22 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: segiddins-test-gem
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.0.36
4
+ version: 0.0.1
5
5
  platform: ruby
6
6
  authors:
7
- - example@example.com
7
+ - segiddins@segiddins.me
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
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'
11
+ date: 2016-04-29 00:00:00.000000000 Z
12
+ dependencies: []
27
13
  description:
28
14
  email:
29
15
  executables: []
30
16
  extensions: []
31
17
  extra_rdoc_files: []
32
18
  files:
33
- - app.rb
19
+ - segiddins-test-gem.gemspec
34
20
  homepage:
35
21
  licenses: []
36
22
  metadata: {}
@@ -40,18 +26,19 @@ 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
- rubygems_version: 2.6.4
39
+ rubygems_version: 2.6.3
54
40
  signing_key:
55
41
  specification_version: 4
56
42
  summary: test
57
43
  test_files: []
44
+ has_rdoc:
data/app.rb DELETED
@@ -1,90 +0,0 @@
1
- require "bundler/setup"
2
-
3
- require "dotenv"
4
- require "sinatra"
5
- require "json"
6
- require "rubygems/package"
7
- require 'rubygems/commands/push_command'
8
-
9
- Dotenv.load
10
-
11
- Gem::DefaultUserInteraction.ui = Gem::ConsoleUI.new
12
- Gem.configuration.rubygems_api_key = ENV.fetch("RUBYGEMS_API_KEY")
13
-
14
- def get_json(host, path)
15
- json = Net::HTTP.get(host, path)
16
- JSON.load(json)
17
- rescue
18
- raise "Failed to load JSON from #{host}/#{path}:\n#{json}"
19
- end
20
-
21
- def push!(name, version)
22
- spec = Gem::Specification.new do |s|
23
- s.name = name
24
- s.version = version
25
- s.authors = ['example@example.com']
26
- s.files = [__FILE__]
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
- end
32
- file = Gem::Package.build(spec)
33
- Gem::Commands::PushCommand.new.send_gem(file)
34
- ensure
35
- File.delete(file)
36
- end
37
-
38
- def get_dependency_api(gem_name)
39
- get_json('bundler.rubygems.org', "/api/v1/dependencies.json?gems=#{gem_name}")
40
- end
41
-
42
- def get_versions
43
- Net::HTTP.get('index.rubygems.org', '/versions')
44
- end
45
-
46
- def get_info(name)
47
- Net::HTTP.get('index.rubygems.org', "/info/#{name}")
48
- end
49
-
50
- get "/" do
51
- halt 401, "token does not match" unless ENV["TOKEN"] == params['token']
52
-
53
- version = params.fetch('version') { Time.now.strftime("%Y.%m.%d.%H.%M.%S") }
54
- gem_name = ENV.fetch('GEM_NAME') { 'segiddins-test-gem' }
55
-
56
- dependency_endpoint = get_dependency_api(gem_name)
57
- versions = get_versions.lines
58
- info = get_info(gem_name).lines
59
-
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
69
-
70
- new_gem = get_dependency_api(gem_name) - dependency_endpoint
71
- case new_gem.size
72
- when 0 then halt 404, "gem not added to dependency API"
73
- when 1 then halt 404, "wrong gem added: #{new_gem}" unless new_gem.values_at('name', 'version') == [gem_name, version]
74
- else halt 404, "too many new gems added: #{new_gem}"
75
- end
76
-
77
- new_versions = versions - get_versions.lines
78
- unless new_versions.find { |l| l == "#{gem_name} #{version}" }
79
- halt 404, "gem not added to versions file"
80
- end
81
-
82
- new_info = get_info(gem_name).lines - info
83
- case new_info.size
84
- when 0 then halt 404, "gem not added to dependency API"
85
- when 1 then halt 404, "wrong gem added: #{new_info}" unless new_info =~ /^#{version} /
86
- else halt 404, "too many new gems added: #{new_info}"
87
- end
88
-
89
- halt "successfully pushed #{gem_name}-#{version}"
90
- end