diff options
author | Andreas Baumann <mail@andreasbaumann.cc> | 2019-11-17 20:45:02 +0100 |
---|---|---|
committer | Andreas Baumann <mail@andreasbaumann.cc> | 2019-11-17 20:45:02 +0100 |
commit | 8df3db566a3a937b45ebf11adb90d265e6f5e2d4 (patch) | |
tree | 4d541098d751d5a9acf8c12f6fb9f308ace066ac /vendor/guzzle/guzzle/src/Guzzle/Batch/BatchClosureDivisor.php | |
download | flyspray-8df3db566a3a937b45ebf11adb90d265e6f5e2d4.tar.xz |
initial checking of customized version 1.0rc9
Diffstat (limited to 'vendor/guzzle/guzzle/src/Guzzle/Batch/BatchClosureDivisor.php')
-rw-r--r-- | vendor/guzzle/guzzle/src/Guzzle/Batch/BatchClosureDivisor.php | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/vendor/guzzle/guzzle/src/Guzzle/Batch/BatchClosureDivisor.php b/vendor/guzzle/guzzle/src/Guzzle/Batch/BatchClosureDivisor.php new file mode 100644 index 0000000..e0a2d95 --- /dev/null +++ b/vendor/guzzle/guzzle/src/Guzzle/Batch/BatchClosureDivisor.php @@ -0,0 +1,39 @@ +<?php + +namespace Guzzle\Batch; + +use Guzzle\Common\Exception\InvalidArgumentException; + +/** + * Divides batches using a callable + */ +class BatchClosureDivisor implements BatchDivisorInterface +{ + /** @var callable Method used to divide the batches */ + protected $callable; + + /** @var mixed $context Context passed to the callable */ + protected $context; + + /** + * @param callable $callable Method used to divide the batches. The method must accept an \SplQueue and return an + * array of arrays containing the divided items. + * @param mixed $context Optional context to pass to the batch divisor + * + * @throws InvalidArgumentException if the callable is not callable + */ + public function __construct($callable, $context = null) + { + if (!is_callable($callable)) { + throw new InvalidArgumentException('Must pass a callable'); + } + + $this->callable = $callable; + $this->context = $context; + } + + public function createBatches(\SplQueue $queue) + { + return call_user_func($this->callable, $queue, $this->context); + } +} |