autorespawn 0.5.0 → 0.5.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 7611aabbaa1ad2c8d52ca80fa16ea0c66960dec5
4
- data.tar.gz: 72812f7b5baf6deefa772122cd8cee4f29f4ff53
3
+ metadata.gz: 602581acf1fd8576ccb38fe1423d6f26f5eb63cb
4
+ data.tar.gz: 573418360cf9b7309a0af3dd5113d6abec52e2f9
5
5
  SHA512:
6
- metadata.gz: d94adfafc6192c05751edfb426a4f0fda3077bdc111ccdfdda44374feb4bba8410308bc13a3053e1d4017b3a20462b14b82a69acf9dbe3a67ecacfed67e93962
7
- data.tar.gz: f466b32d71fdf8a7b14216c85025c20727f14a361331d779c98f6e3a5deb317b8a33e2c9d3ced02c14075add52fd78e58b30d53147dedf71ea96fffa8ea86152
6
+ metadata.gz: e2ce49df3632a38fd65306a9f3efe43a940359b490e706958bf690b64ab5e7803c040b7dffab4f8b3735156107622faf9e0b91bb4165d26afb916143e6578dd0
7
+ data.tar.gz: ae83c99246847d0cbb714160e67798fb358875e399a5ec324e31c216cdd9a3c37b9ea95b8040698828ed13be5c33fcedf29cb2f6dc7dd80f973b10b6972ddcfb
@@ -250,9 +250,10 @@ class Autorespawn
250
250
  while active_slaves.size < parallel_level + 1
251
251
  if slave = queued_slaves.find { |s| !s.running? }
252
252
  queued_slaves.delete(slave)
253
- elsif autospawn && (slave_i = workers.index { |s| s.needed? })
254
- slave = workers.delete_at(slave_i)
255
- @workers = workers[slave_i..-1] + workers[0, slave_i] + [slave]
253
+ elsif autospawn
254
+ needed_slaves, remaining = workers.partition { |s| !s.running? && s.needed? }
255
+ failed, normal = needed_slaves.partition { |s| s.finished? && !s.success? }
256
+ slave = failed.first || normal.first
256
257
  end
257
258
 
258
259
  if slave
@@ -212,6 +212,7 @@ class Autorespawn
212
212
  if !modified.empty?
213
213
  needed!
214
214
  end
215
+ @success = @success && status.success?
215
216
  result_r.close
216
217
  modified
217
218
  end
@@ -1,3 +1,3 @@
1
1
  class Autorespawn
2
- VERSION = "0.5.0"
2
+ VERSION = "0.5.1"
3
3
  end
data/lib/autorespawn.rb CHANGED
@@ -181,7 +181,7 @@ class Autorespawn
181
181
  backtrace = Array.new
182
182
  end
183
183
  error_paths.merge(backtrace)
184
- if e.kind_of?(LoadError)
184
+ if e.kind_of?(LoadError) && e.path
185
185
  error_paths << Pathname.new(e.path)
186
186
  end
187
187
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: autorespawn
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.5.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sylvain Joyeux
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2015-12-23 00:00:00.000000000 Z
11
+ date: 2016-03-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: hooks