Skip to content

Commit 9999539

Browse files
authored
interpret string values as bools (#22)
1 parent d009b5d commit 9999539

File tree

4 files changed

+23
-22
lines changed

4 files changed

+23
-22
lines changed

.circleci/config.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,14 +39,14 @@ jobs:
3939
build-php73:
4040
<<: *defaults
4141
docker:
42-
- image: php:7.3-alpine
42+
- image: php:7.3-alpine3.13
4343
environment:
4444
ADD_MODULES: bcmath sockets
4545
- image: rabbitmq:3.6-management
4646
build-php74:
4747
<<: *defaults
4848
docker:
49-
- image: php:7.4-alpine
49+
- image: php:7.4-alpine3.13
5050
environment:
5151
ADD_MODULES: bcmath sockets
5252
- image: rabbitmq:3.6-management

composer.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,10 @@
1212
}
1313
],
1414
"require": {
15+
"ext-json": "*",
1516
"php": ">=7.1.0",
16-
"packaged/config": "~1.1"
17+
"packaged/config": "^1.1",
18+
"packaged/helpers": "^2.0"
1719
},
1820
"suggest": {
1921
"php-amqplib/php-amqplib": "Enables using queues in RabbitMQ",

src/Provider/Amqp/AmqpQueueProvider.php

Lines changed: 16 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
namespace Packaged\Queue\Provider\Amqp;
33

44
use Exception;
5+
use Packaged\Helpers\ValueAs;
56
use Packaged\Queue\IBatchQueueProvider;
67
use Packaged\Queue\Provider\AbstractQueueProvider;
78
use Packaged\Queue\Provider\QueueConnectionException;
@@ -335,17 +336,17 @@ protected function _getWaitTime()
335336

336337
protected function _getMandatoryFlag()
337338
{
338-
return (bool)$this->config()->getItem('mandatory', true);
339+
return ValueAs::bool($this->config()->getItem('mandatory', true));
339340
}
340341

341342
protected function _getAutoDeclare()
342343
{
343-
return (bool)$this->config()->getItem('auto_declare', false);
344+
return ValueAs::bool($this->config()->getItem('auto_declare', false));
344345
}
345346

346347
protected function _getPublishConfirm()
347348
{
348-
return (bool)$this->config()->getItem('publish_confirm', false);
349+
return ValueAs::bool($this->config()->getItem('publish_confirm', false));
349350
}
350351

351352
protected function _getPushTimeout()
@@ -535,7 +536,7 @@ protected function _getConnection($connectionMode)
535536
$config->getItem('connection_timeout', 3),
536537
$config->getItem('read_write_timeout', 3),
537538
null,
538-
(bool)$config->getItem('keepalive', false),
539+
ValueAs::bool($config->getItem('keepalive', false)),
539540
$config->getItem('heartbeat', 0)
540541
);
541542
}
@@ -544,10 +545,7 @@ protected function _getConnection($connectionMode)
544545
$this->_log('AMQP host failed to connect (' . $host . ')');
545546
array_shift($this->_hosts);
546547
}
547-
$this->_persistentDefault = (bool)$config->getItem(
548-
'persistent',
549-
false
550-
);
548+
$this->_persistentDefault = ValueAs::bool($config->getItem('persistent', false));
551549
$this->_lastConnectTimes[$connectionMode] = time();
552550
}
553551

@@ -748,11 +746,11 @@ public function declareQueue()
748746
$config = $this->config();
749747
$this->_getChannel(self::CONN_OTHER)->queue_declare(
750748
$this->_getQueueName(),
751-
(bool)$config->getItem('queue_passive', false),
752-
(bool)$config->getItem('queue_durable', true),
753-
(bool)$config->getItem('queue_exclusive', false),
754-
(bool)$config->getItem('queue_autodelete', false),
755-
(bool)$config->getItem('queue_nowait', false),
749+
ValueAs::bool($config->getItem('queue_passive', false)),
750+
ValueAs::bool($config->getItem('queue_durable', true)),
751+
ValueAs::bool($config->getItem('queue_exclusive', false)),
752+
ValueAs::bool($config->getItem('queue_autodelete', false)),
753+
ValueAs::bool($config->getItem('queue_nowait', false)),
756754
new AMQPTable((array)$config->getItem('queue_args', null))
757755
);
758756
return $this;
@@ -793,11 +791,11 @@ public function declareExchange()
793791
$this->_getChannel(self::CONN_OTHER)->exchange_declare(
794792
$this->_getExchangeName(),
795793
(string)$config->getItem('exchange_type', 'direct'),
796-
(bool)$config->getItem('exchange_passive', false),
797-
(bool)$config->getItem('exchange_durable', true),
798-
(bool)$config->getItem('exchange_autodelete', false),
799-
(bool)$config->getItem('exchange_internal', false),
800-
(bool)$config->getItem('exchange_nowait', false),
794+
ValueAs::bool($config->getItem('exchange_passive', false)),
795+
ValueAs::bool($config->getItem('exchange_durable', true)),
796+
ValueAs::bool($config->getItem('exchange_autodelete', false)),
797+
ValueAs::bool($config->getItem('exchange_internal', false)),
798+
ValueAs::bool($config->getItem('exchange_nowait', false)),
801799
(array)$config->getItem('exchange_args', null)
802800
);
803801
return $this;

src/Provider/Google/GooglePubSubProvider.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
use Google\Cloud\PubSub\PubSubClient;
88
use Google\Cloud\PubSub\Subscription;
99
use Google\Cloud\PubSub\Topic;
10+
use Packaged\Helpers\ValueAs;
1011
use Packaged\Queue\IBatchQueueProvider;
1112
use Packaged\Queue\Provider\AbstractQueueProvider;
1213
use Packaged\Queue\Provider\QueueCredentialsException;
@@ -390,6 +391,6 @@ protected function _decodeMessage($data)
390391
*/
391392
private function _getAutoCreate()
392393
{
393-
return (bool)$this->config()->getItem('auto_create', false);
394+
return ValueAs::bool($this->config()->getItem('auto_create', false));
394395
}
395396
}

0 commit comments

Comments
 (0)