async-rails 1.5.0 → 1.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: 09e26d9f69032f854510f8efddbea3abfd9744b6
4
- data.tar.gz: 2298acd3231bd05ee92f3b8d88af96a4c7eec58e
3
+ metadata.gz: 611ea70e3c32694c377a1f90f13b9715bab53a96
4
+ data.tar.gz: ecb3f512b8f84f69796f800805748f2859dbaff5
5
5
  SHA512:
6
- metadata.gz: 9f8f8a95abeb5c53621d2f35ac904a83b86c1a47b600e8522d7679c437b9937733591fbd0413f55f7d4af9a1e00977742dbdacf8b65de687ede55fa15d84d8ef
7
- data.tar.gz: 6e8cfc36beef4b9b5b713d7eac8ac43243fbcb58b834ed1399b61c3c1d6238c5a4f54bf759884c2ca54c099831685b7cd4bd9a3b8bf4e7285c58743d3280b9d1
6
+ metadata.gz: b94278afeadb2472c24051d6d857cb7e2b89fe24d12fd5cb752ac2eb5e59d9b2761a09811a201524298a4553afcb9f6dfe67cfb301246997a519fb7b39d031ea
7
+ data.tar.gz: 8b007d129bdfa121d90c9b95b362c47610760ed87ecc9e60bb1b6a33d9949a88d207ab6f2a1f6c7c541ffe1e3c6baebe8d578a398619f8a5eadc34247bcc4a99
@@ -1,5 +1,5 @@
1
1
  module Async
2
2
  module Rails
3
- VERSION = "1.5.0"
3
+ VERSION = "1.5.1"
4
4
  end
5
5
  end
@@ -510,7 +510,7 @@
510
510
  };
511
511
 
512
512
  async.auto = function (tasks, concurrency, callback) {
513
- if (!callback) {
513
+ if (typeof arguments[1] === 'function') {
514
514
  // concurrency is optional, shift the args.
515
515
  callback = concurrency;
516
516
  concurrency = null;
@@ -528,6 +528,8 @@
528
528
  var results = {};
529
529
  var runningTasks = 0;
530
530
 
531
+ var hasError = false;
532
+
531
533
  var listeners = [];
532
534
  function addListener(fn) {
533
535
  listeners.unshift(fn);
@@ -550,6 +552,7 @@
550
552
  });
551
553
 
552
554
  _arrayEach(keys, function (k) {
555
+ if (hasError) return;
553
556
  var task = _isArray(tasks[k]) ? tasks[k]: [tasks[k]];
554
557
  var taskCallback = _restParam(function(err, args) {
555
558
  runningTasks--;
@@ -562,6 +565,8 @@
562
565
  safeResults[rkey] = val;
563
566
  });
564
567
  safeResults[k] = args;
568
+ hasError = true;
569
+
565
570
  callback(err, safeResults);
566
571
  }
567
572
  else {
@@ -781,7 +786,7 @@
781
786
  } else if (test.apply(this, args)) {
782
787
  iterator(next);
783
788
  } else {
784
- callback(null);
789
+ callback.apply(null, [null].concat(args));
785
790
  }
786
791
  });
787
792
  iterator(next);
@@ -929,24 +934,23 @@
929
934
  _insert(q, data, true, callback);
930
935
  },
931
936
  process: function () {
932
- if (!q.paused && workers < q.concurrency && q.tasks.length) {
933
- while(workers < q.concurrency && q.tasks.length){
934
- var tasks = q.payload ?
935
- q.tasks.splice(0, q.payload) :
936
- q.tasks.splice(0, q.tasks.length);
937
-
938
- var data = _map(tasks, function (task) {
939
- return task.data;
940
- });
937
+ while(!q.paused && workers < q.concurrency && q.tasks.length){
941
938
 
942
- if (q.tasks.length === 0) {
943
- q.empty();
944
- }
945
- workers += 1;
946
- workersList.push(tasks[0]);
947
- var cb = only_once(_next(q, tasks));
948
- worker(data, cb);
939
+ var tasks = q.payload ?
940
+ q.tasks.splice(0, q.payload) :
941
+ q.tasks.splice(0, q.tasks.length);
942
+
943
+ var data = _map(tasks, function (task) {
944
+ return task.data;
945
+ });
946
+
947
+ if (q.tasks.length === 0) {
948
+ q.empty();
949
949
  }
950
+ workers += 1;
951
+ workersList.push(tasks[0]);
952
+ var cb = only_once(_next(q, tasks));
953
+ worker(data, cb);
950
954
  }
951
955
  },
952
956
  length: function () {
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: async-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.5.0
4
+ version: 1.5.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jason Chen
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-11-18 00:00:00.000000000 Z
11
+ date: 2016-01-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: railties