From cd2d09c356841de7a7cb7a91da5c9c48d910502d Mon Sep 17 00:00:00 2001 From: Ben Ramsey Date: Sat, 8 Nov 2014 14:43:09 -0500 Subject: [PATCH] Introduce Converter namespace and move Number and Time classes into it --- src/Builder/DefaultUuidBuilder.php | 4 ++-- src/Builder/DegradedUuidBuilder.php | 4 ++-- src/{ => Converter/Number}/BigNumberConverter.php | 6 ++++-- .../Number}/DegradedNumberConverter.php | 11 +++++++---- src/Converter/NumberConverterInterface.php | 10 ++++++++++ src/{ => Converter}/Time/BigNumberTimeConverter.php | 6 +++--- src/{ => Converter}/Time/DegradedTimeConverter.php | 6 +++--- src/{ => Converter}/Time/PhpTimeConverter.php | 6 +++--- .../TimeConverterInterface.php} | 4 ++-- src/DegradedUuid.php | 4 +++- src/FeatureSet.php | 8 +++++--- src/Uuid.php | 5 +++-- src/UuidFactory.php | 12 ++++++++---- src/UuidInterface.php | 6 ++++-- .../Number}/DegradedNumberConverterTest.php | 4 +++- tests/UuidTest.php | 4 ++-- 16 files changed, 64 insertions(+), 36 deletions(-) rename src/{ => Converter/Number}/BigNumberConverter.php (75%) rename src/{ => Converter/Number}/DegradedNumberConverter.php (63%) create mode 100644 src/Converter/NumberConverterInterface.php rename src/{ => Converter}/Time/BigNumberTimeConverter.php (81%) rename src/{ => Converter}/Time/DegradedTimeConverter.php (71%) rename src/{ => Converter}/Time/PhpTimeConverter.php (79%) rename src/{TimeConverter.php => Converter/TimeConverterInterface.php} (81%) rename tests/{ => Converter/Number}/DegradedNumberConverterTest.php (89%) diff --git a/src/Builder/DefaultUuidBuilder.php b/src/Builder/DefaultUuidBuilder.php index 449e68b..b8892e7 100644 --- a/src/Builder/DefaultUuidBuilder.php +++ b/src/Builder/DefaultUuidBuilder.php @@ -2,7 +2,7 @@ namespace Rhumsaa\Uuid\Builder; -use Rhumsaa\Uuid\BigNumberConverter; +use Rhumsaa\Uuid\Converter\NumberConverterInterface; use Rhumsaa\Uuid\Codec; use Rhumsaa\Uuid\Uuid; use Rhumsaa\Uuid\UuidBuilder; @@ -12,7 +12,7 @@ class DefaultUuidBuilder implements UuidBuilder private $converter; - public function __construct(BigNumberConverter $converter) + public function __construct(NumberConverterInterface $converter) { $this->converter = $converter; } diff --git a/src/Builder/DegradedUuidBuilder.php b/src/Builder/DegradedUuidBuilder.php index 8de0218..d5a345e 100644 --- a/src/Builder/DegradedUuidBuilder.php +++ b/src/Builder/DegradedUuidBuilder.php @@ -5,14 +5,14 @@ namespace Rhumsaa\Uuid\Builder; use Rhumsaa\Uuid\UuidBuilder; use Rhumsaa\Uuid\Codec; use Rhumsaa\Uuid\DegradedUuid; -use Rhumsaa\Uuid\BigNumberConverter; +use Rhumsaa\Uuid\Converter\NumberConverterInterface; class DegradedUuidBuilder implements UuidBuilder { private $converter; - public function __construct(BigNumberConverter $converter) + public function __construct(NumberConverterInterface $converter) { $this->converter = $converter; } diff --git a/src/BigNumberConverter.php b/src/Converter/Number/BigNumberConverter.php similarity index 75% rename from src/BigNumberConverter.php rename to src/Converter/Number/BigNumberConverter.php index 97551cf..31189be 100644 --- a/src/BigNumberConverter.php +++ b/src/Converter/Number/BigNumberConverter.php @@ -1,8 +1,10 @@ fields = $fields; $this->codec = $codec; @@ -303,7 +304,7 @@ class Uuid implements UuidInterface, \JsonSerializable return sprintf('%04x', $this->getClockSequence()); } - public function getConverter() + public function getNumberConverter() { return $this->converter; } diff --git a/src/UuidFactory.php b/src/UuidFactory.php index 5df3116..511260b 100644 --- a/src/UuidFactory.php +++ b/src/UuidFactory.php @@ -2,6 +2,10 @@ namespace Rhumsaa\Uuid; +use InvalidArgumentException; +use Rhumsaa\Uuid\Converter\NumberConverterInterface; +use Rhumsaa\Uuid\Converter\TimeConverterInterface; + class UuidFactory { @@ -19,7 +23,7 @@ class UuidFactory /** * - * @var BigNumberConverter + * @var NumberConverterInterface */ private $numberConverter = null; @@ -30,7 +34,7 @@ class UuidFactory /** * - * @var TimeConverter + * @var TimeConverterInterface */ private $timeConverter = null; @@ -68,7 +72,7 @@ class UuidFactory return $this->codec; } - public function setTimeConverter(TimeConverter $converter) + public function setTimeConverter(TimeConverterInterface $converter) { $this->timeConverter = $converter; } @@ -88,7 +92,7 @@ class UuidFactory $this->nodeProvider = $provider; } - public function setNumberConverter(BigNumberConverter $converter) + public function setNumberConverter(NumberConverterInterface $converter) { $this->numberConverter = $converter; } diff --git a/src/UuidInterface.php b/src/UuidInterface.php index 4e852e2..20ba807 100644 --- a/src/UuidInterface.php +++ b/src/UuidInterface.php @@ -2,6 +2,8 @@ namespace Rhumsaa\Uuid; +use Rhumsaa\Uuid\Converter\NumberConverterInterface; + interface UuidInterface { @@ -16,9 +18,9 @@ interface UuidInterface public function equals($other); /** - * @return BigNumberConverter + * @return NumberConverterInterface */ - public function getConverter(); + public function getNumberConverter(); /** * @return string diff --git a/tests/DegradedNumberConverterTest.php b/tests/Converter/Number/DegradedNumberConverterTest.php similarity index 89% rename from tests/DegradedNumberConverterTest.php rename to tests/Converter/Number/DegradedNumberConverterTest.php index 8f14ceb..0ebef84 100644 --- a/tests/DegradedNumberConverterTest.php +++ b/tests/Converter/Number/DegradedNumberConverterTest.php @@ -1,6 +1,8 @@ assertInstanceOf('Rhumsaa\Uuid\DegradedUuid', $uuid); - $this->assertInstanceOf('Rhumsaa\Uuid\DegradedNumberConverter', $uuid->getConverter()); + $this->assertInstanceOf('Rhumsaa\Uuid\Converter\Number\DegradedNumberConverter', $uuid->getNumberConverter()); $date = $uuid->getDateTime(); } @@ -1687,7 +1687,7 @@ class UuidTest extends TestCase /** * @expectedException Rhumsaa\Uuid\Exception\UnsatisfiedDependencyException - * @expectedExceptionMessage Cannot call Rhumsaa\Uuid\DegradedNumberConverter::fromHex without support for large integers + * @expectedExceptionMessage Cannot call Rhumsaa\Uuid\Converter\Number\DegradedNumberConverter::fromHex without support for large integers */ public function testGetInteger() {