artifactory-gem_import 1.0.0 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1eed15a13a5b232d2025e01c80b1f3ddac72924caec37d351556c2be94ef63f4
4
- data.tar.gz: 88a56b54b8f99c7d45f781abe0b3accba3dddc550e6e0691a25f7733b5d9d58b
3
+ metadata.gz: 57ab4217838b44abf3dde9b5f6e1bd6e6209af40e3cd84dfa9b758c68946cb86
4
+ data.tar.gz: 3d0b72405f995269769ebeebb9aaacab60b28dcf14dbd00426a7d3b97278b8f7
5
5
  SHA512:
6
- metadata.gz: f226d4660c90a721909175e3b0959c06aad9a5ce7ec7e1245da096e701f4128d14e9ab032c8b3b764ec80bf885b5ffcc967025b6f9ec028050dc3b2a6e48b2b3
7
- data.tar.gz: cd5467dc42cc4f1174aae0436f6c6255e0683db0169192db4ee71ab76568ce975b3ca5b39f35eb86b243e68f84e3120e1a94221f549c2d6da08573dda949d433
6
+ metadata.gz: 67c0448e9161b7ac268569b064aadcabd7d79c29ff2e266e9a706807f9a9cfbe77a467aa61b666c7a9a70dfe32705fc62d2862521ceccd74b83047539a949797
7
+ data.tar.gz: 0b7f11815cb9ac286ea1e3997f7ec44f00b47a5f5f4b7cd986c7b1014af45c81a637f8a21f5067dcd0436b9ca6e4aa1bb4915d316b0014ae552198007ad05d91
@@ -15,13 +15,19 @@ module Artifactory
15
15
  end
16
16
 
17
17
  def get(repo:, only: /.+/)
18
- specs = Specs
19
- .new(url: repo.specs_url, headers: repo.headers)
20
- .specs
21
- rescue Net::HTTPClientException, Net::HTTPFatalError, Net::OpenTimeout, SocketError => err
22
- raise ClientError, "Could not fetch specs. URL: #{repo.specs_url}, Reason: #{err.message}"
23
- else
24
- Specs.filter(specs, only: only).sort
18
+ %i[prerelease_specs_url specs_url]
19
+ .flat_map { |getter| fetch repo.public_send(getter), repo.headers }
20
+ .sort
21
+ .then { |specs| Specs.filter specs, only: only }
22
+ end
23
+
24
+ private_class_method
25
+
26
+ def fetch(url, headers)
27
+ Specs.new(url: url, headers: headers)
28
+ .specs
29
+ rescue Zlib::GzipFile::Error, Net::HTTPClientException, Net::HTTPFatalError, Net::OpenTimeout, SocketError => err
30
+ raise ClientError, "Could not fetch specs. URL: #{url}, Reason: #{err.message}"
25
31
  end
26
32
  end
27
33
  end
@@ -4,7 +4,7 @@ module Artifactory
4
4
  attr_reader :url, :headers
5
5
 
6
6
  def initialize(url:, headers:)
7
- @url = url
7
+ @url = url
8
8
  @headers = headers
9
9
  end
10
10
 
@@ -12,9 +12,17 @@ module Artifactory
12
12
  File.join url, "gems", "/"
13
13
  end
14
14
 
15
+ def prerelease_specs_url
16
+ File.join url, "prerelease_specs.4.8.gz"
17
+ end
18
+
15
19
  def specs_url
16
20
  File.join url, "specs.4.8.gz"
17
21
  end
22
+
23
+ def latest_specs_url
24
+ File.join url, "latest_specs.4.8.gz"
25
+ end
18
26
  end
19
27
  end
20
28
  end
@@ -1,5 +1,5 @@
1
1
  module Artifactory
2
2
  module GemImport
3
- VERSION = "1.0.0"
3
+ VERSION = "1.1.0"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: artifactory-gem_import
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Thomas Scholz
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2025-01-27 00:00:00.000000000 Z
11
+ date: 2025-01-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: httparty