puppet_fixtures 0.2.0 → 1.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 (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/puppet_fixtures.rb +22 -17
  3. metadata +1 -15
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 93cd97a8b04cd357362e28a429b2bb3ed8c6a9ba7d886543c0ed0d81fa7b028a
4
- data.tar.gz: 507527b5a6aeff8d7227f1d7554c7f78075af0ff2f052bdbc84a4dcd74bd4aa7
3
+ metadata.gz: b53a2e361e5e579596d952064d66dfe220c494eac254ef1182abe9980e9d29b8
4
+ data.tar.gz: e643dc886e1b95db27661f61b65028e9a30b3b97f555964843d8d6db9791ca2d
5
5
  SHA512:
6
- metadata.gz: 728373b70e48e5d36e759e1f94db93970ef5d9d4de28c40f3eed93e116c80bd80806723c11edec2834aaf4741ef0208e65b6bd9b24b354c0482f9e7b6685d6af
7
- data.tar.gz: 28f5307dba7d14197ea46abb3922a31b2ea5037f31108a0aee4502b701f9033e29b2ce9ee1ec308f49ea4ef163bfe88f5884a91b91fbcc167e919bb3cd15ed98
6
+ metadata.gz: d694b20b2344e1b11146c1cb434c27edee67ee39b1efd9dba1101fd8723e2c18ec56e342ef9aecf7a5bb9b7dec1a3881638dca50cf92ca49a9ccf1b1e9622b20
7
+ data.tar.gz: 89dcec5bea40b9f9bb11a7bd82a9ad2c10ac30acbebdf3a48c883680d3b004cfd334b94e919d208131b471c5b0766483b449fb041a57970d6d58c06651dfa6a3
@@ -217,12 +217,18 @@ module PuppetFixtures
217
217
 
218
218
  threads = thread_count.times.map do |i|
219
219
  Thread.new do
220
- type, remote, opts = queue.pop(true)
221
- case type
222
- when :repository
223
- instance.download_repository(remote, **opts)
224
- when :forge
225
- instance.download_module(remote, **opts)
220
+ loop do
221
+ begin
222
+ type, remote, opts = queue.pop(true)
223
+ rescue ThreadError
224
+ break # Queue is empty
225
+ end
226
+ case type
227
+ when :repository
228
+ instance.download_repository(remote, **opts)
229
+ when :forge
230
+ instance.download_module(remote, **opts)
231
+ end
226
232
  end
227
233
  end
228
234
  end
@@ -267,22 +273,21 @@ module PuppetFixtures
267
273
 
268
274
  private
269
275
 
276
+ def gem_version(name)
277
+ Gem::Specification.find_by_name(name).version.to_s
278
+ rescue Gem::LoadError
279
+ nil
280
+ end
281
+
270
282
  def include_repo?(version_range)
271
283
  return true unless version_range
272
284
 
273
- require 'semantic_puppet'
285
+ puppet_version = gem_version('openvox') || gem_version('puppet')
286
+ raise "Neither 'openvox' nor 'puppet' gem could be found. Please install one of them." unless puppet_version
274
287
 
275
- puppet_spec = begin
276
- Gem::Specification.find_by_name('openvox')
277
- rescue Gem::LoadError
278
- begin
279
- Gem::Specification.find_by_name('puppet')
280
- rescue Gem::LoadError
281
- raise "Neither 'openvox' nor 'puppet' gem could be found. Please install one of them."
282
- end
283
- end
284
- puppet_version = SemanticPuppet::Version.parse(puppet_spec.version.to_s)
288
+ require 'semantic_puppet'
285
289
 
290
+ puppet_version = SemanticPuppet::Version.parse(puppet_version)
286
291
  constraint = SemanticPuppet::VersionRange.parse(version_range)
287
292
  constraint.include?(puppet_version)
288
293
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: puppet_fixtures
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ewoud Kohl van Wijngaarden
@@ -23,20 +23,6 @@ dependencies:
23
23
  - - "~>"
24
24
  - !ruby/object:Gem::Version
25
25
  version: '13.0'
26
- - !ruby/object:Gem::Dependency
27
- name: ostruct
28
- requirement: !ruby/object:Gem::Requirement
29
- requirements:
30
- - - "~>"
31
- - !ruby/object:Gem::Version
32
- version: 0.6.0
33
- type: :runtime
34
- prerelease: false
35
- version_requirements: !ruby/object:Gem::Requirement
36
- requirements:
37
- - - "~>"
38
- - !ruby/object:Gem::Version
39
- version: 0.6.0
40
26
  description: |
41
27
  Originally part of puppetlabs_spec_helper, but with a significant
42
28
  refactoring to make it available standalone.