gemstash 2.1.0 → 2.2.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +57 -0
- data/lib/gemstash/cache.rb +37 -0
- data/lib/gemstash/cli/authorize.rb +2 -2
- data/lib/gemstash/cli/setup.rb +11 -3
- data/lib/gemstash/configuration.rb +1 -1
- data/lib/gemstash/dependencies.rb +2 -2
- data/lib/gemstash/env.rb +2 -0
- data/lib/gemstash/gem_fetcher.rb +2 -2
- data/lib/gemstash/gem_pusher.rb +2 -2
- data/lib/gemstash/gem_source/private_source.rb +3 -3
- data/lib/gemstash/gem_source.rb +2 -2
- data/lib/gemstash/http_client.rb +8 -3
- data/lib/gemstash/logging.rb +1 -1
- data/lib/gemstash/man/gemstash-authorize.1 +36 -21
- data/lib/gemstash/man/gemstash-authorize.1.txt +21 -19
- data/lib/gemstash/man/gemstash-configuration.5 +118 -106
- data/lib/gemstash/man/gemstash-configuration.5.txt +105 -103
- data/lib/gemstash/man/gemstash-customize.7 +83 -68
- data/lib/gemstash/man/gemstash-customize.7.txt +63 -62
- data/lib/gemstash/man/gemstash-debugging.7 +24 -9
- data/lib/gemstash/man/gemstash-debugging.7.txt +11 -9
- data/lib/gemstash/man/gemstash-deploy.7 +30 -15
- data/lib/gemstash/man/gemstash-deploy.7.txt +18 -16
- data/lib/gemstash/man/gemstash-mirror.7 +25 -10
- data/lib/gemstash/man/gemstash-mirror.7.txt +9 -7
- data/lib/gemstash/man/gemstash-multiple-sources.7 +34 -20
- data/lib/gemstash/man/gemstash-multiple-sources.7.txt +30 -29
- data/lib/gemstash/man/gemstash-private-gems.7 +55 -40
- data/lib/gemstash/man/gemstash-private-gems.7.txt +40 -38
- data/lib/gemstash/man/gemstash-readme.7 +61 -49
- data/lib/gemstash/man/gemstash-readme.7.txt +58 -58
- data/lib/gemstash/man/gemstash-setup.1 +36 -21
- data/lib/gemstash/man/gemstash-setup.1.txt +19 -17
- data/lib/gemstash/man/gemstash-start.1 +29 -14
- data/lib/gemstash/man/gemstash-start.1.txt +14 -12
- data/lib/gemstash/man/gemstash-status.1 +27 -12
- data/lib/gemstash/man/gemstash-status.1.txt +12 -10
- data/lib/gemstash/man/gemstash-stop.1 +27 -12
- data/lib/gemstash/man/gemstash-stop.1.txt +12 -10
- data/lib/gemstash/man/gemstash-version.1 +25 -10
- data/lib/gemstash/man/gemstash-version.1.txt +7 -5
- data/lib/gemstash/storage.rb +5 -4
- data/lib/gemstash/upstream.rb +6 -5
- data/lib/gemstash/version.rb +2 -2
- data/lib/gemstash/web.rb +6 -4
- data/lib/gemstash.rb +1 -1
- metadata +31 -157
@@ -1,22 +1,37 @@
|
|
1
|
-
|
1
|
+
<!-- Automatically generated by Pandoc -->
|
2
|
+
.\" Automatically generated by Pandoc 3.0.1
|
2
3
|
.\"
|
3
|
-
|
4
|
+
.\" Define V font for inline verbatim, using C font in formats
|
5
|
+
.\" that render this, and otherwise B font.
|
6
|
+
.ie "\f[CB]x\f[]"x" \{\
|
7
|
+
. ftr V B
|
8
|
+
. ftr VI BI
|
9
|
+
. ftr VB B
|
10
|
+
. ftr VBI BI
|
11
|
+
.\}
|
12
|
+
.el \{\
|
13
|
+
. ftr V CR
|
14
|
+
. ftr VI CI
|
15
|
+
. ftr VB CB
|
16
|
+
. ftr VBI CBI
|
17
|
+
.\}
|
18
|
+
.TH "gemstash-version" "1" "December 14, 2015" "" ""
|
4
19
|
.hy
|
5
|
-
.SH
|
20
|
+
.SH Name
|
6
21
|
.PP
|
7
|
-
gemstash
|
8
|
-
.SH
|
22
|
+
gemstash-version - Show what version of Gemstash you are using
|
23
|
+
.SH Synopsis
|
9
24
|
.PP
|
10
|
-
\f[
|
11
|
-
.SH
|
25
|
+
\f[V]gemstash version\f[R]
|
26
|
+
.SH Description
|
12
27
|
.PP
|
13
28
|
Show what version of Gemstash you are using.
|
14
|
-
.SS
|
29
|
+
.SS Usage
|
15
30
|
.IP
|
16
31
|
.nf
|
17
32
|
\f[C]
|
18
33
|
gemstash version
|
19
|
-
gemstash
|
20
|
-
gemstash
|
34
|
+
gemstash --version
|
35
|
+
gemstash -v
|
21
36
|
\f[R]
|
22
37
|
.fi
|
@@ -2,16 +2,18 @@ gemstash-version(1) gemstash-version(1)
|
|
2
2
|
|
3
3
|
|
4
4
|
|
5
|
-
|
5
|
+
<!-- Automatically generated by Pandoc -->
|
6
|
+
|
7
|
+
1mName0m
|
6
8
|
gemstash-version - Show what version of Gemstash you are using
|
7
9
|
|
8
|
-
|
9
|
-
|
10
|
+
1mSynopsis0m
|
11
|
+
1mgemstash version0m
|
10
12
|
|
11
|
-
|
13
|
+
1mDescription0m
|
12
14
|
Show what version of Gemstash you are using.
|
13
15
|
|
14
|
-
|
16
|
+
1mUsage0m
|
15
17
|
gemstash version
|
16
18
|
gemstash --version
|
17
19
|
gemstash -v
|
data/lib/gemstash/storage.rb
CHANGED
@@ -68,7 +68,7 @@ module Gemstash
|
|
68
68
|
end
|
69
69
|
end
|
70
70
|
|
71
|
-
YAML.
|
71
|
+
YAML.safe_load_file(file, permitted_classes: [Symbol])
|
72
72
|
end
|
73
73
|
|
74
74
|
private
|
@@ -94,6 +94,7 @@ module Gemstash
|
|
94
94
|
include Gemstash::Env::Helper
|
95
95
|
include Gemstash::Logging
|
96
96
|
attr_reader :name, :folder
|
97
|
+
|
97
98
|
VERSION = 1
|
98
99
|
|
99
100
|
# If the storage engine detects a resource was originally saved from a newer
|
@@ -195,7 +196,7 @@ module Gemstash
|
|
195
196
|
# @param props [Hash] the properties to add
|
196
197
|
# @return [Gemstash::Resource] self for chaining purposes
|
197
198
|
def update_properties(props)
|
198
|
-
load_properties(true)
|
199
|
+
load_properties(force: true)
|
199
200
|
|
200
201
|
deep_merge = proc do |_, old_value, new_value|
|
201
202
|
if old_value.is_a?(Hash) && new_value.is_a?(Hash)
|
@@ -276,11 +277,11 @@ module Gemstash
|
|
276
277
|
@content[key] = read_file(content_filename(key))
|
277
278
|
end
|
278
279
|
|
279
|
-
def load_properties(force
|
280
|
+
def load_properties(force: false)
|
280
281
|
return if @properties && !force
|
281
282
|
return unless File.exist?(properties_filename)
|
282
283
|
|
283
|
-
@properties = YAML.
|
284
|
+
@properties = YAML.safe_load_file(properties_filename, permitted_classes: [Symbol]) || {}
|
284
285
|
check_resource_version
|
285
286
|
end
|
286
287
|
|
data/lib/gemstash/upstream.rb
CHANGED
@@ -1,10 +1,11 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require "digest"
|
4
|
+
require "forwardable"
|
4
5
|
require "uri"
|
5
6
|
|
6
7
|
module Gemstash
|
7
|
-
|
8
|
+
# :nodoc:
|
8
9
|
class Upstream
|
9
10
|
extend Forwardable
|
10
11
|
|
@@ -15,7 +16,7 @@ module Gemstash
|
|
15
16
|
def initialize(upstream, user_agent: nil)
|
16
17
|
@uri = URI(CGI.unescape(upstream.to_s))
|
17
18
|
@user_agent = user_agent
|
18
|
-
raise "URL '#{@uri}' is not valid!" unless @uri.to_s
|
19
|
+
raise "URL '#{@uri}' is not valid!" unless @uri.to_s&.match?(URI::DEFAULT_PARSER.make_regexp)
|
19
20
|
end
|
20
21
|
|
21
22
|
def url(path = nil, params = nil)
|
@@ -23,7 +24,7 @@ module Gemstash
|
|
23
24
|
|
24
25
|
unless path.to_s.empty?
|
25
26
|
base = "#{base}/" unless base.end_with?("/")
|
26
|
-
path = path[1
|
27
|
+
path = path[1..] if path.to_s.start_with?("/")
|
27
28
|
end
|
28
29
|
|
29
30
|
params = "?#{params}" if !params.nil? && !params.empty?
|
@@ -31,7 +32,7 @@ module Gemstash
|
|
31
32
|
end
|
32
33
|
|
33
34
|
def auth?
|
34
|
-
!user.to_s.empty?
|
35
|
+
!user.to_s.empty? || !password.to_s.empty?
|
35
36
|
end
|
36
37
|
|
37
38
|
# Utilized as the parent directory for cached gems
|
@@ -45,7 +46,7 @@ module Gemstash
|
|
45
46
|
Digest::MD5.hexdigest(to_s)
|
46
47
|
end
|
47
48
|
|
48
|
-
|
49
|
+
# :nodoc:
|
49
50
|
class GemName
|
50
51
|
def initialize(upstream, gem_name)
|
51
52
|
@upstream = upstream
|
data/lib/gemstash/version.rb
CHANGED
data/lib/gemstash/web.rb
CHANGED
@@ -5,11 +5,13 @@ require "json"
|
|
5
5
|
require "gemstash"
|
6
6
|
|
7
7
|
module Gemstash
|
8
|
-
|
8
|
+
# :nodoc:
|
9
9
|
class Web < Sinatra::Base
|
10
|
-
def initialize(
|
11
|
-
|
12
|
-
|
10
|
+
ruby2_keywords def initialize(options = {})
|
11
|
+
raise ArgumentError unless options.is_a?(Hash)
|
12
|
+
|
13
|
+
@gemstash_env = options[:gemstash_env] || Gemstash::Env.new
|
14
|
+
@http_client_builder = options[:http_client_builder] || Gemstash::HTTPClient
|
13
15
|
Gemstash::Env.current = @gemstash_env
|
14
16
|
super()
|
15
17
|
end
|
data/lib/gemstash.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.1
|
4
|
+
version: 2.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andre Arko
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2023-02-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -34,16 +34,22 @@ dependencies:
|
|
34
34
|
name: dalli
|
35
35
|
requirement: !ruby/object:Gem::Requirement
|
36
36
|
requirements:
|
37
|
-
- - "
|
37
|
+
- - ">="
|
38
38
|
- !ruby/object:Gem::Version
|
39
|
-
version:
|
39
|
+
version: 3.2.3
|
40
|
+
- - "<"
|
41
|
+
- !ruby/object:Gem::Version
|
42
|
+
version: '4'
|
40
43
|
type: :runtime
|
41
44
|
prerelease: false
|
42
45
|
version_requirements: !ruby/object:Gem::Requirement
|
43
46
|
requirements:
|
44
|
-
- - "
|
47
|
+
- - ">="
|
48
|
+
- !ruby/object:Gem::Version
|
49
|
+
version: 3.2.3
|
50
|
+
- - "<"
|
45
51
|
- !ruby/object:Gem::Version
|
46
|
-
version: '
|
52
|
+
version: '4'
|
47
53
|
- !ruby/object:Gem::Dependency
|
48
54
|
name: faraday
|
49
55
|
requirement: !ruby/object:Gem::Requirement
|
@@ -86,6 +92,20 @@ dependencies:
|
|
86
92
|
- - "~>"
|
87
93
|
- !ruby/object:Gem::Version
|
88
94
|
version: '1.1'
|
95
|
+
- !ruby/object:Gem::Dependency
|
96
|
+
name: psych
|
97
|
+
requirement: !ruby/object:Gem::Requirement
|
98
|
+
requirements:
|
99
|
+
- - ">="
|
100
|
+
- !ruby/object:Gem::Version
|
101
|
+
version: 3.2.1
|
102
|
+
type: :runtime
|
103
|
+
prerelease: false
|
104
|
+
version_requirements: !ruby/object:Gem::Requirement
|
105
|
+
requirements:
|
106
|
+
- - ">="
|
107
|
+
- !ruby/object:Gem::Version
|
108
|
+
version: 3.2.1
|
89
109
|
- !ruby/object:Gem::Dependency
|
90
110
|
name: puma
|
91
111
|
requirement: !ruby/object:Gem::Requirement
|
@@ -176,152 +196,6 @@ dependencies:
|
|
176
196
|
- - "~>"
|
177
197
|
- !ruby/object:Gem::Version
|
178
198
|
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'
|
193
|
-
- !ruby/object:Gem::Dependency
|
194
|
-
name: bundler
|
195
|
-
requirement: !ruby/object:Gem::Requirement
|
196
|
-
requirements:
|
197
|
-
- - ">="
|
198
|
-
- !ruby/object:Gem::Version
|
199
|
-
version: '1.11'
|
200
|
-
- - "<"
|
201
|
-
- !ruby/object:Gem::Version
|
202
|
-
version: '3.0'
|
203
|
-
type: :development
|
204
|
-
prerelease: false
|
205
|
-
version_requirements: !ruby/object:Gem::Requirement
|
206
|
-
requirements:
|
207
|
-
- - ">="
|
208
|
-
- !ruby/object:Gem::Version
|
209
|
-
version: '1.11'
|
210
|
-
- - "<"
|
211
|
-
- !ruby/object:Gem::Version
|
212
|
-
version: '3.0'
|
213
|
-
- !ruby/object:Gem::Dependency
|
214
|
-
name: citrus
|
215
|
-
requirement: !ruby/object:Gem::Requirement
|
216
|
-
requirements:
|
217
|
-
- - "~>"
|
218
|
-
- !ruby/object:Gem::Version
|
219
|
-
version: '3.0'
|
220
|
-
type: :development
|
221
|
-
prerelease: false
|
222
|
-
version_requirements: !ruby/object:Gem::Requirement
|
223
|
-
requirements:
|
224
|
-
- - "~>"
|
225
|
-
- !ruby/object:Gem::Version
|
226
|
-
version: '3.0'
|
227
|
-
- !ruby/object:Gem::Dependency
|
228
|
-
name: octokit
|
229
|
-
requirement: !ruby/object:Gem::Requirement
|
230
|
-
requirements:
|
231
|
-
- - "~>"
|
232
|
-
- !ruby/object:Gem::Version
|
233
|
-
version: '4.2'
|
234
|
-
type: :development
|
235
|
-
prerelease: false
|
236
|
-
version_requirements: !ruby/object:Gem::Requirement
|
237
|
-
requirements:
|
238
|
-
- - "~>"
|
239
|
-
- !ruby/object:Gem::Version
|
240
|
-
version: '4.2'
|
241
|
-
- !ruby/object:Gem::Dependency
|
242
|
-
name: pandoc_object_filters
|
243
|
-
requirement: !ruby/object:Gem::Requirement
|
244
|
-
requirements:
|
245
|
-
- - "~>"
|
246
|
-
- !ruby/object:Gem::Version
|
247
|
-
version: '0.2'
|
248
|
-
type: :development
|
249
|
-
prerelease: false
|
250
|
-
version_requirements: !ruby/object:Gem::Requirement
|
251
|
-
requirements:
|
252
|
-
- - "~>"
|
253
|
-
- !ruby/object:Gem::Version
|
254
|
-
version: '0.2'
|
255
|
-
- !ruby/object:Gem::Dependency
|
256
|
-
name: rack-test
|
257
|
-
requirement: !ruby/object:Gem::Requirement
|
258
|
-
requirements:
|
259
|
-
- - "~>"
|
260
|
-
- !ruby/object:Gem::Version
|
261
|
-
version: '1.1'
|
262
|
-
type: :development
|
263
|
-
prerelease: false
|
264
|
-
version_requirements: !ruby/object:Gem::Requirement
|
265
|
-
requirements:
|
266
|
-
- - "~>"
|
267
|
-
- !ruby/object:Gem::Version
|
268
|
-
version: '1.1'
|
269
|
-
- !ruby/object:Gem::Dependency
|
270
|
-
name: rake
|
271
|
-
requirement: !ruby/object:Gem::Requirement
|
272
|
-
requirements:
|
273
|
-
- - "~>"
|
274
|
-
- !ruby/object:Gem::Version
|
275
|
-
version: '12.3'
|
276
|
-
type: :development
|
277
|
-
prerelease: false
|
278
|
-
version_requirements: !ruby/object:Gem::Requirement
|
279
|
-
requirements:
|
280
|
-
- - "~>"
|
281
|
-
- !ruby/object:Gem::Version
|
282
|
-
version: '12.3'
|
283
|
-
- !ruby/object:Gem::Dependency
|
284
|
-
name: rspec
|
285
|
-
requirement: !ruby/object:Gem::Requirement
|
286
|
-
requirements:
|
287
|
-
- - "~>"
|
288
|
-
- !ruby/object:Gem::Version
|
289
|
-
version: '3.3'
|
290
|
-
type: :development
|
291
|
-
prerelease: false
|
292
|
-
version_requirements: !ruby/object:Gem::Requirement
|
293
|
-
requirements:
|
294
|
-
- - "~>"
|
295
|
-
- !ruby/object:Gem::Version
|
296
|
-
version: '3.3'
|
297
|
-
- !ruby/object:Gem::Dependency
|
298
|
-
name: rubocop
|
299
|
-
requirement: !ruby/object:Gem::Requirement
|
300
|
-
requirements:
|
301
|
-
- - '='
|
302
|
-
- !ruby/object:Gem::Version
|
303
|
-
version: 0.67.2
|
304
|
-
type: :development
|
305
|
-
prerelease: false
|
306
|
-
version_requirements: !ruby/object:Gem::Requirement
|
307
|
-
requirements:
|
308
|
-
- - '='
|
309
|
-
- !ruby/object:Gem::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
|
325
199
|
description: Gemstash acts as a local RubyGems server, caching copies of gems from
|
326
200
|
RubyGems.org automatically, and eventually letting you push your own private gems
|
327
201
|
as well.
|
@@ -412,7 +286,7 @@ homepage: https://github.com/rubygems/gemstash
|
|
412
286
|
licenses:
|
413
287
|
- MIT
|
414
288
|
metadata: {}
|
415
|
-
post_install_message:
|
289
|
+
post_install_message:
|
416
290
|
rdoc_options: []
|
417
291
|
require_paths:
|
418
292
|
- lib
|
@@ -420,15 +294,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
420
294
|
requirements:
|
421
295
|
- - ">="
|
422
296
|
- !ruby/object:Gem::Version
|
423
|
-
version: '2.
|
297
|
+
version: '2.7'
|
424
298
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
425
299
|
requirements:
|
426
300
|
- - ">="
|
427
301
|
- !ruby/object:Gem::Version
|
428
302
|
version: '0'
|
429
303
|
requirements: []
|
430
|
-
rubygems_version: 3.
|
431
|
-
signing_key:
|
304
|
+
rubygems_version: 3.4.3
|
305
|
+
signing_key:
|
432
306
|
specification_version: 4
|
433
307
|
summary: A place to stash gems you'll need
|
434
308
|
test_files: []
|