From cbc7929f6e4f970f6abcbbd730b83a5ac03c3fd0 Mon Sep 17 00:00:00 2001 From: Daniele Alessandri Date: Tue, 12 Apr 2011 14:41:30 +0200 Subject: [PATCH] Move the logic of the connection factory option to a dedicated class. --- lib/Predis/ClientOptions.php | 16 ++------------ .../Options/ClientConnectionFactory.php | 21 +++++++++++++++++++ 2 files changed, 23 insertions(+), 14 deletions(-) create mode 100644 lib/Predis/Options/ClientConnectionFactory.php diff --git a/lib/Predis/ClientOptions.php b/lib/Predis/ClientOptions.php index 577e586c..d42625e5 100644 --- a/lib/Predis/ClientOptions.php +++ b/lib/Predis/ClientOptions.php @@ -3,9 +3,9 @@ namespace Predis; use Predis\Options\IOption; -use Predis\Options\CustomOption; use Predis\Options\ClientProfile; use Predis\Options\ClientKeyDistribution; +use Predis\Options\ClientConnectionFactory; class ClientOptions { private $_handlers, $_options; @@ -22,19 +22,7 @@ class ClientOptions { self::$_sharedOptions = array( 'profile' => new ClientProfile(), 'key_distribution' => new ClientKeyDistribution(), - 'connections' => new CustomOption(array( - 'default' => function() { - return new ConnectionFactory(); - }, - 'validate' => function($value) { - if ($value instanceof IConnectionFactory) { - return $value; - } - if (is_array($value)) { - return new ConnectionFactory($value); - } - }, - )), + 'connections' => new ClientConnectionFactory(), ); return self::$_sharedOptions; } diff --git a/lib/Predis/Options/ClientConnectionFactory.php b/lib/Predis/Options/ClientConnectionFactory.php new file mode 100644 index 00000000..183ecc87 --- /dev/null +++ b/lib/Predis/Options/ClientConnectionFactory.php @@ -0,0 +1,21 @@ +