gemstash 2.0.0 → 2.1.0
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/exe/gemstash +3 -0
- data/lib/gemstash.rb +2 -0
- data/lib/gemstash/api_key_authorization.rb +3 -0
- data/lib/gemstash/authorization.rb +7 -3
- data/lib/gemstash/cache.rb +5 -2
- data/lib/gemstash/cli.rb +2 -0
- data/lib/gemstash/cli/authorize.rb +3 -3
- data/lib/gemstash/cli/base.rb +4 -1
- data/lib/gemstash/cli/setup.rb +8 -1
- data/lib/gemstash/cli/start.rb +4 -1
- data/lib/gemstash/cli/status.rb +2 -0
- data/lib/gemstash/cli/stop.rb +2 -0
- data/lib/gemstash/config.ru +3 -3
- data/lib/gemstash/configuration.rb +7 -1
- data/lib/gemstash/db.rb +3 -0
- data/lib/gemstash/db/authorization.rb +2 -0
- data/lib/gemstash/db/cached_rubygem.rb +3 -0
- data/lib/gemstash/db/dependency.rb +2 -0
- data/lib/gemstash/db/rubygem.rb +3 -0
- data/lib/gemstash/db/upstream.rb +3 -0
- data/lib/gemstash/db/version.rb +3 -0
- data/lib/gemstash/dependencies.rb +4 -0
- data/lib/gemstash/env.rb +22 -4
- data/lib/gemstash/gem_fetcher.rb +2 -0
- data/lib/gemstash/gem_pusher.rb +5 -3
- data/lib/gemstash/gem_source.rb +2 -0
- data/lib/gemstash/gem_source/dependency_caching.rb +4 -4
- data/lib/gemstash/gem_source/private_source.rb +3 -0
- data/lib/gemstash/gem_source/rack_middleware.rb +3 -0
- data/lib/gemstash/gem_source/upstream_source.rb +9 -3
- data/lib/gemstash/gem_yanker.rb +4 -0
- data/lib/gemstash/health.rb +2 -0
- data/lib/gemstash/http_client.rb +4 -1
- data/lib/gemstash/logging.rb +2 -0
- data/lib/gemstash/man/gemstash-authorize.1 +51 -0
- data/lib/gemstash/man/gemstash-authorize.1.txt +33 -53
- data/lib/gemstash/man/gemstash-configuration.5 +229 -0
- data/lib/gemstash/man/gemstash-configuration.5.txt +150 -6
- data/lib/gemstash/man/gemstash-customize.7 +301 -0
- data/lib/gemstash/man/gemstash-customize.7.txt +183 -62
- data/lib/gemstash/man/gemstash-debugging.7 +34 -0
- data/lib/gemstash/man/gemstash-debugging.7.txt +17 -54
- data/lib/gemstash/man/gemstash-deploy.7 +72 -0
- data/lib/gemstash/man/gemstash-deploy.7.txt +44 -51
- data/lib/gemstash/man/gemstash-mirror.7 +40 -0
- data/lib/gemstash/man/gemstash-mirror.7.txt +20 -53
- data/lib/gemstash/man/gemstash-multiple-sources.7 +89 -0
- data/lib/gemstash/man/gemstash-multiple-sources.7.txt +53 -48
- data/lib/gemstash/man/gemstash-private-gems.7 +227 -0
- data/lib/gemstash/man/gemstash-private-gems.7.txt +108 -18
- data/lib/gemstash/man/gemstash-readme.7 +233 -0
- data/lib/gemstash/man/gemstash-readme.7.txt +126 -10
- data/lib/gemstash/man/gemstash-setup.1 +43 -0
- data/lib/gemstash/man/gemstash-setup.1.txt +28 -54
- data/lib/gemstash/man/gemstash-start.1 +26 -0
- data/lib/gemstash/man/gemstash-start.1.txt +16 -56
- data/lib/gemstash/man/gemstash-status.1 +20 -0
- data/lib/gemstash/man/gemstash-status.1.txt +13 -57
- data/lib/gemstash/man/gemstash-stop.1 +20 -0
- data/lib/gemstash/man/gemstash-stop.1.txt +13 -57
- data/lib/gemstash/man/gemstash-version.1 +22 -0
- data/lib/gemstash/man/gemstash-version.1.txt +12 -57
- data/lib/gemstash/migrations/01_gem_dependencies.rb +2 -0
- data/lib/gemstash/migrations/02_authorizations.rb +2 -0
- data/lib/gemstash/migrations/03_cached_gems.rb +2 -0
- data/lib/gemstash/migrations/04_health_tests.rb +2 -0
- data/lib/gemstash/puma.rb +2 -0
- data/lib/gemstash/rack_env_rewriter.rb +11 -2
- data/lib/gemstash/specs_builder.rb +5 -1
- data/lib/gemstash/storage.rb +12 -3
- data/lib/gemstash/upstream.rb +2 -0
- data/lib/gemstash/version.rb +3 -1
- data/lib/gemstash/web.rb +2 -0
- metadata +69 -22
@@ -0,0 +1,22 @@
|
|
1
|
+
.\" Automatically generated by Pandoc 2.5
|
2
|
+
.\"
|
3
|
+
.TH "gemstash\-version" "1" "December 14, 2015" "" ""
|
4
|
+
.hy
|
5
|
+
.SH NAME
|
6
|
+
.PP
|
7
|
+
gemstash\-version \- Show what version of Gemstash you are using
|
8
|
+
.SH SYNOPSIS
|
9
|
+
.PP
|
10
|
+
\f[C]gemstash version\f[R]
|
11
|
+
.SH DESCRIPTION
|
12
|
+
.PP
|
13
|
+
Show what version of Gemstash you are using.
|
14
|
+
.SS USAGE
|
15
|
+
.IP
|
16
|
+
.nf
|
17
|
+
\f[C]
|
18
|
+
gemstash version
|
19
|
+
gemstash \-\-version
|
20
|
+
gemstash \-v
|
21
|
+
\f[R]
|
22
|
+
.fi
|
@@ -1,66 +1,21 @@
|
|
1
|
+
gemstash-version(1) gemstash-version(1)
|
1
2
|
|
2
3
|
|
3
4
|
|
5
|
+
1mNAME0m
|
6
|
+
gemstash-version - Show what version of Gemstash you are using
|
4
7
|
|
8
|
+
1mSYNOPSIS0m
|
9
|
+
gemstash version
|
5
10
|
|
11
|
+
1mDESCRIPTION0m
|
12
|
+
Show what version of Gemstash you are using.
|
6
13
|
|
14
|
+
1mUSAGE0m
|
15
|
+
gemstash version
|
16
|
+
gemstash --version
|
17
|
+
gemstash -v
|
7
18
|
|
8
19
|
|
9
20
|
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
21
|
+
December 14, 2015 gemstash-version(1)
|
data/lib/gemstash/puma.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require "gemstash"
|
2
4
|
require "forwardable"
|
3
5
|
|
@@ -33,8 +35,15 @@ module Gemstash
|
|
33
35
|
def rewrite
|
34
36
|
check_match
|
35
37
|
log_start = "Rewriting '#{@rack_env["REQUEST_URI"]}'"
|
36
|
-
|
37
|
-
@rack_env["
|
38
|
+
|
39
|
+
new_request_uri = @rack_env["REQUEST_URI"].dup
|
40
|
+
new_request_uri[@request_uri_match.begin(0)...@request_uri_match.end(0)] = ""
|
41
|
+
|
42
|
+
new_path_info = @rack_env["PATH_INFO"].dup
|
43
|
+
new_path_info[@path_info_match.begin(0)...@path_info_match.end(0)] = ""
|
44
|
+
|
45
|
+
@rack_env["REQUEST_URI"] = new_request_uri
|
46
|
+
@rack_env["PATH_INFO"] = new_path_info
|
38
47
|
log.info "#{log_start} to '#{@rack_env["REQUEST_URI"]}'"
|
39
48
|
end
|
40
49
|
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require "gemstash"
|
2
4
|
require "stringio"
|
3
5
|
require "zlib"
|
@@ -33,6 +35,7 @@ module Gemstash
|
|
33
35
|
check_auth if gemstash_env.config[:protected_fetch]
|
34
36
|
fetch_from_storage
|
35
37
|
return result if result
|
38
|
+
|
36
39
|
fetch_versions
|
37
40
|
marshal
|
38
41
|
gzip
|
@@ -59,8 +62,9 @@ module Gemstash
|
|
59
62
|
def fetch_from_storage
|
60
63
|
specs = fetch_resource
|
61
64
|
return unless specs.exist?(:specs)
|
65
|
+
|
62
66
|
@result = specs.load(:specs).content(:specs)
|
63
|
-
rescue
|
67
|
+
rescue StandardError
|
64
68
|
# On the off-chance of a race condition between specs.exist? and specs.load
|
65
69
|
@result = nil
|
66
70
|
end
|
data/lib/gemstash/storage.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require "gemstash"
|
2
4
|
require "digest"
|
3
5
|
require "fileutils"
|
@@ -74,12 +76,14 @@ module Gemstash
|
|
74
76
|
def check_storage_version
|
75
77
|
version = Gemstash::Storage.metadata[:storage_version]
|
76
78
|
return if version <= Gemstash::Storage::VERSION
|
79
|
+
|
77
80
|
raise Gemstash::Storage::VersionTooNew.new(@folder, version)
|
78
81
|
end
|
79
82
|
|
80
83
|
def path_valid?(path)
|
81
84
|
return false if path.nil?
|
82
85
|
return false unless File.writable?(path)
|
86
|
+
|
83
87
|
true
|
84
88
|
end
|
85
89
|
end
|
@@ -247,17 +251,17 @@ module Gemstash
|
|
247
251
|
|
248
252
|
begin
|
249
253
|
File.delete(content_filename(key))
|
250
|
-
rescue => e
|
254
|
+
rescue StandardError => e
|
251
255
|
log_error "Failed to delete stored content at #{content_filename(key)}", e, level: :warn
|
252
256
|
end
|
253
257
|
|
254
258
|
begin
|
255
259
|
File.delete(properties_filename) unless content?
|
256
|
-
rescue => e
|
260
|
+
rescue StandardError => e
|
257
261
|
log_error "Failed to delete stored properties at #{properties_filename}", e, level: :warn
|
258
262
|
end
|
259
263
|
|
260
|
-
|
264
|
+
self
|
261
265
|
ensure
|
262
266
|
reset
|
263
267
|
end
|
@@ -266,6 +270,7 @@ module Gemstash
|
|
266
270
|
|
267
271
|
def load(key)
|
268
272
|
raise "Resource #{@name} has no #{key.inspect} content to load" unless exist?(key)
|
273
|
+
|
269
274
|
load_properties # Ensures storage version is checked
|
270
275
|
@content ||= {}
|
271
276
|
@content[key] = read_file(content_filename(key))
|
@@ -274,6 +279,7 @@ module Gemstash
|
|
274
279
|
def load_properties(force = false)
|
275
280
|
return if @properties && !force
|
276
281
|
return unless File.exist?(properties_filename)
|
282
|
+
|
277
283
|
@properties = YAML.load_file(properties_filename) || {}
|
278
284
|
check_resource_version
|
279
285
|
end
|
@@ -281,6 +287,7 @@ module Gemstash
|
|
281
287
|
def check_resource_version
|
282
288
|
version = @properties[:gemstash_resource_version]
|
283
289
|
return if version <= Gemstash::Resource::VERSION
|
290
|
+
|
284
291
|
reset
|
285
292
|
raise Gemstash::Resource::VersionTooNew.new(name, folder, version)
|
286
293
|
end
|
@@ -292,6 +299,7 @@ module Gemstash
|
|
292
299
|
|
293
300
|
def content?
|
294
301
|
return false unless Dir.exist?(@folder)
|
302
|
+
|
295
303
|
entries = Dir.entries(@folder).reject {|file| file =~ /\A\.\.?\z/ || file == "properties.yaml" }
|
296
304
|
!entries.empty?
|
297
305
|
end
|
@@ -330,6 +338,7 @@ module Gemstash
|
|
330
338
|
def content_filename(key)
|
331
339
|
name = sanitize(key.to_s)
|
332
340
|
raise "Invalid content key #{key.inspect}" if name.empty?
|
341
|
+
|
333
342
|
File.join(@folder, name)
|
334
343
|
end
|
335
344
|
|
data/lib/gemstash/upstream.rb
CHANGED
data/lib/gemstash/version.rb
CHANGED
data/lib/gemstash/web.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gemstash
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andre Arko
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-02-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -92,42 +92,42 @@ dependencies:
|
|
92
92
|
requirements:
|
93
93
|
- - "~>"
|
94
94
|
- !ruby/object:Gem::Version
|
95
|
-
version: '
|
95
|
+
version: '4.0'
|
96
96
|
type: :runtime
|
97
97
|
prerelease: false
|
98
98
|
version_requirements: !ruby/object:Gem::Requirement
|
99
99
|
requirements:
|
100
100
|
- - "~>"
|
101
101
|
- !ruby/object:Gem::Version
|
102
|
-
version: '
|
102
|
+
version: '4.0'
|
103
103
|
- !ruby/object:Gem::Dependency
|
104
|
-
name:
|
104
|
+
name: sequel
|
105
105
|
requirement: !ruby/object:Gem::Requirement
|
106
106
|
requirements:
|
107
107
|
- - "~>"
|
108
108
|
- !ruby/object:Gem::Version
|
109
|
-
version: '0
|
109
|
+
version: '5.0'
|
110
110
|
type: :runtime
|
111
111
|
prerelease: false
|
112
112
|
version_requirements: !ruby/object:Gem::Requirement
|
113
113
|
requirements:
|
114
114
|
- - "~>"
|
115
115
|
- !ruby/object:Gem::Version
|
116
|
-
version: '0
|
116
|
+
version: '5.0'
|
117
117
|
- !ruby/object:Gem::Dependency
|
118
|
-
name:
|
118
|
+
name: server_health_check-rack
|
119
119
|
requirement: !ruby/object:Gem::Requirement
|
120
120
|
requirements:
|
121
121
|
- - "~>"
|
122
122
|
- !ruby/object:Gem::Version
|
123
|
-
version: '
|
123
|
+
version: '0.1'
|
124
124
|
type: :runtime
|
125
125
|
prerelease: false
|
126
126
|
version_requirements: !ruby/object:Gem::Requirement
|
127
127
|
requirements:
|
128
128
|
- - "~>"
|
129
129
|
- !ruby/object:Gem::Version
|
130
|
-
version: '
|
130
|
+
version: '0.1'
|
131
131
|
- !ruby/object:Gem::Dependency
|
132
132
|
name: sinatra
|
133
133
|
requirement: !ruby/object:Gem::Requirement
|
@@ -176,20 +176,40 @@ dependencies:
|
|
176
176
|
- - "~>"
|
177
177
|
- !ruby/object:Gem::Version
|
178
178
|
version: '1.3'
|
179
|
+
- !ruby/object:Gem::Dependency
|
180
|
+
name: aruba
|
181
|
+
requirement: !ruby/object:Gem::Requirement
|
182
|
+
requirements:
|
183
|
+
- - ">="
|
184
|
+
- !ruby/object:Gem::Version
|
185
|
+
version: '0.14'
|
186
|
+
type: :development
|
187
|
+
prerelease: false
|
188
|
+
version_requirements: !ruby/object:Gem::Requirement
|
189
|
+
requirements:
|
190
|
+
- - ">="
|
191
|
+
- !ruby/object:Gem::Version
|
192
|
+
version: '0.14'
|
179
193
|
- !ruby/object:Gem::Dependency
|
180
194
|
name: bundler
|
181
195
|
requirement: !ruby/object:Gem::Requirement
|
182
196
|
requirements:
|
183
|
-
- - "
|
197
|
+
- - ">="
|
184
198
|
- !ruby/object:Gem::Version
|
185
199
|
version: '1.11'
|
200
|
+
- - "<"
|
201
|
+
- !ruby/object:Gem::Version
|
202
|
+
version: '3.0'
|
186
203
|
type: :development
|
187
204
|
prerelease: false
|
188
205
|
version_requirements: !ruby/object:Gem::Requirement
|
189
206
|
requirements:
|
190
|
-
- - "
|
207
|
+
- - ">="
|
191
208
|
- !ruby/object:Gem::Version
|
192
209
|
version: '1.11'
|
210
|
+
- - "<"
|
211
|
+
- !ruby/object:Gem::Version
|
212
|
+
version: '3.0'
|
193
213
|
- !ruby/object:Gem::Dependency
|
194
214
|
name: citrus
|
195
215
|
requirement: !ruby/object:Gem::Requirement
|
@@ -238,28 +258,28 @@ dependencies:
|
|
238
258
|
requirements:
|
239
259
|
- - "~>"
|
240
260
|
- !ruby/object:Gem::Version
|
241
|
-
version: '
|
261
|
+
version: '1.1'
|
242
262
|
type: :development
|
243
263
|
prerelease: false
|
244
264
|
version_requirements: !ruby/object:Gem::Requirement
|
245
265
|
requirements:
|
246
266
|
- - "~>"
|
247
267
|
- !ruby/object:Gem::Version
|
248
|
-
version: '
|
268
|
+
version: '1.1'
|
249
269
|
- !ruby/object:Gem::Dependency
|
250
270
|
name: rake
|
251
271
|
requirement: !ruby/object:Gem::Requirement
|
252
272
|
requirements:
|
253
273
|
- - "~>"
|
254
274
|
- !ruby/object:Gem::Version
|
255
|
-
version: '
|
275
|
+
version: '12.3'
|
256
276
|
type: :development
|
257
277
|
prerelease: false
|
258
278
|
version_requirements: !ruby/object:Gem::Requirement
|
259
279
|
requirements:
|
260
280
|
- - "~>"
|
261
281
|
- !ruby/object:Gem::Version
|
262
|
-
version: '
|
282
|
+
version: '12.3'
|
263
283
|
- !ruby/object:Gem::Dependency
|
264
284
|
name: rspec
|
265
285
|
requirement: !ruby/object:Gem::Requirement
|
@@ -280,14 +300,28 @@ dependencies:
|
|
280
300
|
requirements:
|
281
301
|
- - '='
|
282
302
|
- !ruby/object:Gem::Version
|
283
|
-
version:
|
303
|
+
version: 0.67.2
|
284
304
|
type: :development
|
285
305
|
prerelease: false
|
286
306
|
version_requirements: !ruby/object:Gem::Requirement
|
287
307
|
requirements:
|
288
308
|
- - '='
|
289
309
|
- !ruby/object:Gem::Version
|
290
|
-
version:
|
310
|
+
version: 0.67.2
|
311
|
+
- !ruby/object:Gem::Dependency
|
312
|
+
name: rubocop-performance
|
313
|
+
requirement: !ruby/object:Gem::Requirement
|
314
|
+
requirements:
|
315
|
+
- - "~>"
|
316
|
+
- !ruby/object:Gem::Version
|
317
|
+
version: 1.1.0
|
318
|
+
type: :development
|
319
|
+
prerelease: false
|
320
|
+
version_requirements: !ruby/object:Gem::Requirement
|
321
|
+
requirements:
|
322
|
+
- - "~>"
|
323
|
+
- !ruby/object:Gem::Version
|
324
|
+
version: 1.1.0
|
291
325
|
description: Gemstash acts as a local RubyGems server, caching copies of gems from
|
292
326
|
RubyGems.org automatically, and eventually letting you push your own private gems
|
293
327
|
as well.
|
@@ -335,19 +369,33 @@ files:
|
|
335
369
|
- lib/gemstash/health.rb
|
336
370
|
- lib/gemstash/http_client.rb
|
337
371
|
- lib/gemstash/logging.rb
|
372
|
+
- lib/gemstash/man/gemstash-authorize.1
|
338
373
|
- lib/gemstash/man/gemstash-authorize.1.txt
|
374
|
+
- lib/gemstash/man/gemstash-configuration.5
|
339
375
|
- lib/gemstash/man/gemstash-configuration.5.txt
|
376
|
+
- lib/gemstash/man/gemstash-customize.7
|
340
377
|
- lib/gemstash/man/gemstash-customize.7.txt
|
378
|
+
- lib/gemstash/man/gemstash-debugging.7
|
341
379
|
- lib/gemstash/man/gemstash-debugging.7.txt
|
380
|
+
- lib/gemstash/man/gemstash-deploy.7
|
342
381
|
- lib/gemstash/man/gemstash-deploy.7.txt
|
382
|
+
- lib/gemstash/man/gemstash-mirror.7
|
343
383
|
- lib/gemstash/man/gemstash-mirror.7.txt
|
384
|
+
- lib/gemstash/man/gemstash-multiple-sources.7
|
344
385
|
- lib/gemstash/man/gemstash-multiple-sources.7.txt
|
386
|
+
- lib/gemstash/man/gemstash-private-gems.7
|
345
387
|
- lib/gemstash/man/gemstash-private-gems.7.txt
|
388
|
+
- lib/gemstash/man/gemstash-readme.7
|
346
389
|
- lib/gemstash/man/gemstash-readme.7.txt
|
390
|
+
- lib/gemstash/man/gemstash-setup.1
|
347
391
|
- lib/gemstash/man/gemstash-setup.1.txt
|
392
|
+
- lib/gemstash/man/gemstash-start.1
|
348
393
|
- lib/gemstash/man/gemstash-start.1.txt
|
394
|
+
- lib/gemstash/man/gemstash-status.1
|
349
395
|
- lib/gemstash/man/gemstash-status.1.txt
|
396
|
+
- lib/gemstash/man/gemstash-stop.1
|
350
397
|
- lib/gemstash/man/gemstash-stop.1.txt
|
398
|
+
- lib/gemstash/man/gemstash-version.1
|
351
399
|
- lib/gemstash/man/gemstash-version.1.txt
|
352
400
|
- lib/gemstash/migrations/01_gem_dependencies.rb
|
353
401
|
- lib/gemstash/migrations/02_authorizations.rb
|
@@ -360,7 +408,7 @@ files:
|
|
360
408
|
- lib/gemstash/upstream.rb
|
361
409
|
- lib/gemstash/version.rb
|
362
410
|
- lib/gemstash/web.rb
|
363
|
-
homepage: https://github.com/
|
411
|
+
homepage: https://github.com/rubygems/gemstash
|
364
412
|
licenses:
|
365
413
|
- MIT
|
366
414
|
metadata: {}
|
@@ -372,15 +420,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
372
420
|
requirements:
|
373
421
|
- - ">="
|
374
422
|
- !ruby/object:Gem::Version
|
375
|
-
version: '
|
423
|
+
version: '2.4'
|
376
424
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
377
425
|
requirements:
|
378
426
|
- - ">="
|
379
427
|
- !ruby/object:Gem::Version
|
380
428
|
version: '0'
|
381
429
|
requirements: []
|
382
|
-
|
383
|
-
rubygems_version: 2.7.6
|
430
|
+
rubygems_version: 3.0.1
|
384
431
|
signing_key:
|
385
432
|
specification_version: 4
|
386
433
|
summary: A place to stash gems you'll need
|