Skip to content

Commit

Permalink
Renamed ProviderDataFetcher -> ProviderDataSource.
Browse files Browse the repository at this point in the history
  • Loading branch information
Bilge committed Jun 30, 2016
1 parent e5e60bc commit 1d63d15
Show file tree
Hide file tree
Showing 19 changed files with 94 additions and 92 deletions.
8 changes: 4 additions & 4 deletions src/Porter/Collection/CountableProviderRecords.php
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<?php
namespace ScriptFUSION\Porter\Collection;

use ScriptFUSION\Porter\Provider\ProviderDataFetcher;
use ScriptFUSION\Porter\Provider\DataSource\ProviderDataSource;

class CountableProviderRecords extends ProviderRecords implements \Countable
{
Expand All @@ -10,11 +10,11 @@ class CountableProviderRecords extends ProviderRecords implements \Countable
/**
* @param \Iterator $providerRecords
* @param int $count
* @param ProviderDataFetcher $dataFetcher
* @param ProviderDataSource $dataSource
*/
public function __construct(\Iterator $providerRecords, $count, ProviderDataFetcher $dataFetcher)
public function __construct(\Iterator $providerRecords, $count, ProviderDataSource $dataSource)
{
parent::__construct($providerRecords, $dataFetcher);
parent::__construct($providerRecords, $dataSource);

$this->count = $count|0;
}
Expand Down
14 changes: 7 additions & 7 deletions src/Porter/Collection/ProviderRecords.php
Original file line number Diff line number Diff line change
@@ -1,24 +1,24 @@
<?php
namespace ScriptFUSION\Porter\Collection;

use ScriptFUSION\Porter\Provider\ProviderDataFetcher;
use ScriptFUSION\Porter\Provider\DataSource\ProviderDataSource;

class ProviderRecords extends RecordCollection
{
private $dataFetcher;
private $dataSource;

public function __construct(\Iterator $providerRecords, ProviderDataFetcher $dataFetcher)
public function __construct(\Iterator $providerRecords, ProviderDataSource $dataSource)
{
parent::__construct($providerRecords);

$this->dataFetcher = $dataFetcher;
$this->dataSource = $dataSource;
}

/**
* @return ProviderDataFetcher
* @return ProviderDataSource
*/
public function getDataFetcher()
public function getDataSource()
{
return $this->dataFetcher;
return $this->dataSource;
}
}
14 changes: 7 additions & 7 deletions src/Porter/Porter.php
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
use ScriptFUSION\Porter\Mapper\PorterMapper;
use ScriptFUSION\Porter\Provider\ObjectNotCreatedException;
use ScriptFUSION\Porter\Provider\Provider;
use ScriptFUSION\Porter\Provider\ProviderDataFetcher;
use ScriptFUSION\Porter\Provider\DataSource\ProviderDataSource;
use ScriptFUSION\Porter\Provider\ProviderFactory;
use ScriptFUSION\Porter\Specification\ImportSpecification;

Expand All @@ -38,12 +38,12 @@ public function __construct()
*/
public function import(ImportSpecification $specification)
{
$dataFetcher = $specification->finalize()->getDataFetcher();
$records = $this->fetch($dataFetcher, $specification->getCacheAdvice());
$dataSource = $specification->finalize()->getDataSource();
$records = $this->fetch($dataSource, $specification->getCacheAdvice());

if (!$records instanceof ProviderRecords) {
// Compose records iterator.
$records = new ProviderRecords($records, $dataFetcher);
$records = new ProviderRecords($records, $dataSource);
}

if ($specification->getFilter()) {
Expand All @@ -57,12 +57,12 @@ public function import(ImportSpecification $specification)
return new PorterRecords($records, $specification);
}

private function fetch(ProviderDataFetcher $dataFetcher, CacheAdvice $cacheAdvice = null)
private function fetch(ProviderDataSource $dataSource, CacheAdvice $cacheAdvice = null)
{
$provider = $this->getProvider($dataFetcher->getProviderName());
$provider = $this->getProvider($dataSource->getProviderName());
$this->applyCacheAdvice($provider, $cacheAdvice ?: $this->defaultCacheAdvice);

return $provider->fetch($dataFetcher);
return $provider->fetch($dataSource);
}

private function filter(ProviderRecords $records, callable $predicate, $context)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<?php
namespace ScriptFUSION\Porter\Provider;
namespace ScriptFUSION\Porter\Provider\DataSource;

class NullDataFetcher extends StaticDataFetcher
class NullDataSource extends StaticDataSource
{
public function __construct()
{
Expand Down
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
<?php
namespace ScriptFUSION\Porter\Provider;
namespace ScriptFUSION\Porter\Provider\DataSource;

use ScriptFUSION\Porter\Connector\Connector;

/**
* Defines methods for fetching data from a specific provider.
* Defines methods for fetching data from a specific provider data source.
*/
interface ProviderDataFetcher
interface ProviderDataSource
{
/**
* Gets the class name of the provider this data fetcher belongs to.
* Gets the class name of the provider this data source belongs to.
*
* @return string
*/
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
<?php
namespace ScriptFUSION\Porter\Provider;
namespace ScriptFUSION\Porter\Provider\DataSource;

use ScriptFUSION\Porter\Connector\Connector;
use ScriptFUSION\Porter\Options\EncapsulatedOptions;
use ScriptFUSION\Porter\Provider\StaticDataProvider;

class StaticDataFetcher implements ProviderDataFetcher
class StaticDataSource implements ProviderDataSource
{
private $data;

Expand Down
10 changes: 0 additions & 10 deletions src/Porter/Provider/ForeignDataFetcherException.php

This file was deleted.

10 changes: 10 additions & 0 deletions src/Porter/Provider/ForeignDataSourceException.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
<?php
namespace ScriptFUSION\Porter\Provider;

/**
* The exception that is thrown when a foreign data source is received.
*/
class ForeignDataSourceException extends \RuntimeException
{
// Intentionally empty.
}
17 changes: 9 additions & 8 deletions src/Porter/Provider/Provider.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
use ScriptFUSION\Porter\Cache\CacheOperationProhibitedException;
use ScriptFUSION\Porter\Cache\MutableCacheState;
use ScriptFUSION\Porter\Connector\Connector;
use ScriptFUSION\Porter\Provider\DataSource\ProviderDataSource;

abstract class Provider implements MutableCacheState
{
Expand All @@ -15,22 +16,22 @@ public function __construct(Connector $connector)
}

/**
* @param ProviderDataFetcher $dataFetcher
* @param ProviderDataSource $dataSource
*
* @return \Iterator
*
* @throws ForeignDataFetcherException A foreign data fetcher was received.
* @throws ForeignDataSourceException A foreign data source was received.
*/
public function fetch(ProviderDataFetcher $dataFetcher)
public function fetch(ProviderDataSource $dataSource)
{
if ($dataFetcher->getProviderName() !== static::class) {
throw new ForeignDataFetcherException(sprintf(
'Cannot fetch data from foreign type: "%s".',
get_class($dataFetcher)
if ($dataSource->getProviderName() !== static::class) {
throw new ForeignDataSourceException(sprintf(
'Cannot fetch data from foreign source: "%s".',
get_class($dataSource)
));
}

return $dataFetcher->fetch($this->connector);
return $dataSource->fetch($this->connector);
}

/**
Expand Down
18 changes: 9 additions & 9 deletions src/Porter/Specification/ImportSpecification.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,14 @@

use ScriptFUSION\Mapper\Mapping;
use ScriptFUSION\Porter\Cache\CacheAdvice;
use ScriptFUSION\Porter\Provider\ProviderDataFetcher;
use ScriptFUSION\Porter\Provider\DataSource\ProviderDataSource;

class ImportSpecification
{
private $finalized = false;

/** @var ProviderDataFetcher */
private $dataFetcher;
/** @var ProviderDataSource */
private $dataSource;

/** @var Mapping */
private $mapping;
Expand All @@ -24,9 +24,9 @@ class ImportSpecification
/** @var CacheAdvice */
private $cacheAdvice;

public function __construct(ProviderDataFetcher $dataFetcher)
public function __construct(ProviderDataSource $dataSource)
{
$this->dataFetcher = $dataFetcher;
$this->dataSource = $dataSource;
}

/**
Expand All @@ -42,7 +42,7 @@ public static function createFrom(ImportSpecification $specification)
$specification->finalize();
}

return (new static($specification->getDataFetcher()))
return (new static($specification->getDataSource()))
->setMapping($specification->getMapping())
->setContext($specification->getContext())
->setFilter($specification->getFilter());
Expand Down Expand Up @@ -76,11 +76,11 @@ private function failIfFinalized($function)
}

/**
* @return ProviderDataFetcher
* @return ProviderDataSource
*/
final public function getDataFetcher()
final public function getDataSource()
{
return $this->isFinalized() ? clone $this->dataFetcher : $this->dataFetcher;
return $this->isFinalized() ? clone $this->dataSource : $this->dataSource;
}

/**
Expand Down
4 changes: 2 additions & 2 deletions src/Porter/Specification/StaticDataImportSpecification.php
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
<?php
namespace ScriptFUSION\Porter\Specification;

use ScriptFUSION\Porter\Provider\StaticDataFetcher;
use ScriptFUSION\Porter\Provider\DataSource\StaticDataSource;

class StaticDataImportSpecification extends ImportSpecification
{
public function __construct(\Iterator $data)
{
parent::__construct(new StaticDataFetcher($data));
parent::__construct(new StaticDataSource($data));
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
namespace ScriptFUSIONTest\Integration\Porter\Collection;

use ScriptFUSION\Porter\Collection\CountableProviderRecords;
use ScriptFUSION\Porter\Provider\ProviderDataFetcher;
use ScriptFUSION\Porter\Provider\DataSource\ProviderDataSource;

final class CountableProviderRecordsTest extends \PHPUnit_Framework_TestCase
{
Expand All @@ -13,7 +13,7 @@ public function test()
$records = new CountableProviderRecords(
new \ArrayIterator($data),
count($data),
\Mockery::mock(ProviderDataFetcher::class)
\Mockery::mock(ProviderDataSource::class)
);

self::assertCount(count($data), $records);
Expand Down
12 changes: 6 additions & 6 deletions test/Integration/Porter/PorterTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
use ScriptFUSION\Porter\Collection\PorterRecords;
use ScriptFUSION\Porter\Porter;
use ScriptFUSION\Porter\Provider\Provider;
use ScriptFUSION\Porter\Provider\ProviderDataFetcher;
use ScriptFUSION\Porter\Provider\DataSource\ProviderDataSource;
use ScriptFUSION\Porter\ProviderNotFoundException;
use ScriptFUSION\Porter\Specification\ImportSpecification;

Expand All @@ -17,13 +17,13 @@ final class PorterTest extends \PHPUnit_Framework_TestCase
/** @var Provider|MockInterface */
private $provider;

/** @var ProviderDataFetcher */
private $dataFetcher;
/** @var ProviderDataSource */
private $dataSource;

protected function setUp()
{
$this->porter = (new Porter)->addProvider($this->provider = \Mockery::spy(Provider::class));
$this->dataFetcher = \Mockery::mock(ProviderDataFetcher::class)
$this->dataSource = \Mockery::mock(ProviderDataSource::class)
->shouldReceive('getProviderName')
->andReturn(get_class($this->provider))
->getMock();
Expand Down Expand Up @@ -56,7 +56,7 @@ public function testImport()
{
$this->provider->shouldReceive('fetch')->andReturn(new \ArrayIterator(['foo']));

$records = $this->porter->import(new ImportSpecification($this->dataFetcher));
$records = $this->porter->import(new ImportSpecification($this->dataSource));

self::assertInstanceOf(PorterRecords::class, $records);
self::assertSame('foo', $records->current());
Expand All @@ -67,7 +67,7 @@ public function testFilter()
$this->provider->shouldReceive('fetch')->andReturn(new \ArrayIterator(range(1, 10)));

$records = $this->porter->import(
(new ImportSpecification($this->dataFetcher))
(new ImportSpecification($this->dataSource))
->setFilter(function ($record) {
return $record % 2;
})
Expand Down
4 changes: 2 additions & 2 deletions test/MockFactory.php
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<?php
namespace ScriptFUSIONTest;

use ScriptFUSION\Porter\Provider\ProviderDataFetcher;
use ScriptFUSION\Porter\Provider\DataSource\ProviderDataSource;
use ScriptFUSION\Porter\Specification\ImportSpecification;
use ScriptFUSION\StaticClass;

Expand All @@ -11,6 +11,6 @@ final class MockFactory

public static function mockImportSpecification()
{
return \Mockery::mock(ImportSpecification::class, [\Mockery::mock(ProviderDataFetcher::class)]);
return \Mockery::mock(ImportSpecification::class, [\Mockery::mock(ProviderDataSource::class)]);
}
}
6 changes: 3 additions & 3 deletions test/Unit/Porter/Collection/ProviderRecordsTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,17 @@
namespace ScriptFUSIONTest\Unit\Porter\Collection;

use ScriptFUSION\Porter\Collection\ProviderRecords;
use ScriptFUSION\Porter\Provider\ProviderDataFetcher;
use ScriptFUSION\Porter\Provider\DataSource\ProviderDataSource;

final class ProviderRecordsTest extends \PHPUnit_Framework_TestCase
{
public function test()
{
$records = new ProviderRecords(
\Mockery::mock(\Iterator::class),
$dataFetcher = \Mockery::mock(ProviderDataFetcher::class)
$dataSource = \Mockery::mock(ProviderDataSource::class)
);

self::assertSame($dataFetcher, $records->getDataFetcher());
self::assertSame($dataSource, $records->getDataSource());
}
}
Loading

0 comments on commit 1d63d15

Please sign in to comment.