rubygems-await 0.4.0 → 0.5.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/CHANGELOG.md +3 -1
- data/lib/rubygems/await/version.rb +1 -1
- data/lib/rubygems/await.rb +29 -10
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 10e1a7c6f2fd38db7465b38a3c588f9220d074bcef67c3891612d0e79673fc9a
|
4
|
+
data.tar.gz: 1a19045734c1a922f4f4b93f051ade46155a45d501bd0e6509ae1eb695f35beb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: df5ae29e5019fc2ed1941199f3cab44e8c60bb71a07bac9553c5949bdf0b7efc8048d5e05dfb2bac4ea799837b5cddf39317c0e877f13d37e514b7f7df623eb6
|
7
|
+
data.tar.gz: 62be45546fd49b042ec3e1aa5655c4a68039aa664e5816246c5a8c9d1d8792cb2bb33dacb8eabf94b534a4d21a02e30592f381bb9ed5c102633997dccd33bdba
|
data/CHANGELOG.md
CHANGED
data/lib/rubygems/await.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require_relative "await/version"
|
4
|
+
require "rubygems/remote_fetcher"
|
4
5
|
|
5
6
|
module Rubygems
|
6
7
|
module Await
|
@@ -54,7 +55,7 @@ module Rubygems
|
|
54
55
|
log { "#{Bundler.ui.add_color("missing", :yellow)}: #{format_element(missing)}" }
|
55
56
|
process_collection(missing)
|
56
57
|
rescue StandardError => e
|
57
|
-
log_error(e)
|
58
|
+
log_error(e) { e.full_message(highlight: false) }
|
58
59
|
ensure
|
59
60
|
iteration += 1
|
60
61
|
log(level: "debug") { "##{iteration} #{Time.now.-(start).round(2)}s" } if start
|
@@ -119,17 +120,38 @@ module Rubygems
|
|
119
120
|
def compact_index_client
|
120
121
|
remote = Bundler::Source::Rubygems::Remote.new URI(source)
|
121
122
|
fetcher = Bundler::Fetcher.new(remote)
|
122
|
-
client =
|
123
|
-
|
123
|
+
client =
|
124
|
+
if Bundler::VERSION < "2.5.0"
|
125
|
+
Bundler::Fetcher::CompactIndex.new(fetcher.send(:downloader), remote, fetcher.uri)
|
126
|
+
else
|
127
|
+
Bundler::Fetcher::CompactIndex.new(fetcher.send(:downloader), remote, fetcher.uri,
|
128
|
+
fetcher.gem_remote_fetcher)
|
129
|
+
end.send(:compact_index_client)
|
124
130
|
# ensure that updating info always hits the network
|
125
131
|
client.instance_variable_set(:@info_checksums_by_name, Hash.new { "" })
|
126
132
|
client
|
127
133
|
end
|
128
134
|
|
135
|
+
def gem_remote_fetcher
|
136
|
+
if Bundler.rubygems.respond_to?(:gem_remote_fetcher)
|
137
|
+
Bundler.rubygems.gem_remote_fetcher
|
138
|
+
else
|
139
|
+
remote = Bundler::Source::Rubygems::Remote.new URI(source)
|
140
|
+
fetcher = Bundler::Fetcher.new(remote)
|
141
|
+
raise "unsupported bundler version" unless fetcher.respond_to?(:gem_remote_fetcher)
|
142
|
+
|
143
|
+
fetcher.gem_remote_fetcher
|
144
|
+
end
|
145
|
+
end
|
146
|
+
|
129
147
|
def index_fetcher
|
130
148
|
remote = Bundler::Source::Rubygems::Remote.new URI(source)
|
131
149
|
fetcher = Bundler::Fetcher.new(remote)
|
132
|
-
Bundler::
|
150
|
+
if Bundler::VERSION < "2.5.0"
|
151
|
+
Bundler::Fetcher::Index.new(fetcher.send(:downloader), remote, fetcher.uri)
|
152
|
+
else
|
153
|
+
Bundler::Fetcher::Index.new(fetcher.send(:downloader), remote, fetcher.uri, fetcher.gem_remote_fetcher)
|
154
|
+
end
|
133
155
|
end
|
134
156
|
|
135
157
|
def self.awaiter_name
|
@@ -275,9 +297,8 @@ module Rubygems
|
|
275
297
|
|
276
298
|
remote_gem_path = source_uri + "gems/#{gem_file_name}"
|
277
299
|
|
278
|
-
fetcher = Bundler.rubygems.gem_remote_fetcher
|
279
300
|
Bundler::SharedHelpers.filesystem_access(local_gem_path) do
|
280
|
-
|
301
|
+
gem_remote_fetcher.cache_update_path remote_gem_path, local_gem_path
|
281
302
|
end
|
282
303
|
true
|
283
304
|
rescue Gem::RemoteFetcher::FetchError => e
|
@@ -296,9 +317,8 @@ module Rubygems
|
|
296
317
|
end
|
297
318
|
|
298
319
|
def process_collection(missing)
|
299
|
-
fetcher = Bundler.rubygems.gem_remote_fetcher
|
300
320
|
path = source_uri + "specs.#{Gem.marshal_version}.gz"
|
301
|
-
contents =
|
321
|
+
contents = gem_remote_fetcher.fetch_path(path)
|
302
322
|
idx = safe_load_marshal(contents)
|
303
323
|
|
304
324
|
idx.each do |found|
|
@@ -318,9 +338,8 @@ module Rubygems
|
|
318
338
|
end
|
319
339
|
|
320
340
|
def process_collection(missing)
|
321
|
-
fetcher = Bundler.rubygems.gem_remote_fetcher
|
322
341
|
path = source_uri + "prerelease_specs.#{Gem.marshal_version}.gz"
|
323
|
-
contents =
|
342
|
+
contents = gem_remote_fetcher.fetch_path(path)
|
324
343
|
idx = safe_load_marshal(contents)
|
325
344
|
|
326
345
|
idx.each do |found|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rubygems-await
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Samuel Giddins
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2024-01-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -68,7 +68,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
68
68
|
- !ruby/object:Gem::Version
|
69
69
|
version: '3.2'
|
70
70
|
requirements: []
|
71
|
-
rubygems_version: 3.
|
71
|
+
rubygems_version: 3.5.3
|
72
72
|
signing_key:
|
73
73
|
specification_version: 4
|
74
74
|
summary: A RubyGems plugin with a command to wait until gems are available.
|