Skip to content

Commit 2f63f16

Browse files
committed
Added AbstractResource and accompanying test.
Renamed ProviderResource -> Resource.
1 parent 22a667d commit 2f63f16

17 files changed

Lines changed: 93 additions & 37 deletions

src/Porter/Collection/CountableProviderRecords.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<?php
22
namespace ScriptFUSION\Porter\Collection;
33

4-
use ScriptFUSION\Porter\Provider\Resource\ProviderResource;
4+
use ScriptFUSION\Porter\Provider\Resource\Resource;
55

66
class CountableProviderRecords extends ProviderRecords implements \Countable
77
{
@@ -10,9 +10,9 @@ class CountableProviderRecords extends ProviderRecords implements \Countable
1010
/**
1111
* @param \Iterator $providerRecords
1212
* @param int $count
13-
* @param ProviderResource $resource
13+
* @param Resource $resource
1414
*/
15-
public function __construct(\Iterator $providerRecords, $count, ProviderResource $resource)
15+
public function __construct(\Iterator $providerRecords, $count, Resource $resource)
1616
{
1717
parent::__construct($providerRecords, $resource);
1818

src/Porter/Collection/ProviderRecords.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,21 @@
11
<?php
22
namespace ScriptFUSION\Porter\Collection;
33

4-
use ScriptFUSION\Porter\Provider\Resource\ProviderResource;
4+
use ScriptFUSION\Porter\Provider\Resource\Resource;
55

66
class ProviderRecords extends RecordCollection
77
{
88
private $resource;
99

10-
public function __construct(\Iterator $providerRecords, ProviderResource $resource)
10+
public function __construct(\Iterator $providerRecords, Resource $resource)
1111
{
1212
parent::__construct($providerRecords);
1313

1414
$this->resource = $resource;
1515
}
1616

1717
/**
18-
* @return ProviderResource
18+
* @return Resource
1919
*/
2020
public function getResource()
2121
{

src/Porter/Net/Soap/SoapOptions.php

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@
33

44
use ScriptFUSION\Porter\Options\EncapsulatedOptions;
55

6+
/**
7+
* TODO. Add missing SOAP context option accessors and mutators.
8+
*/
69
final class SoapOptions extends EncapsulatedOptions
710
{
811
public function __construct()

src/Porter/Porter.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
use ScriptFUSION\Porter\Provider\ObjectNotCreatedException;
1818
use ScriptFUSION\Porter\Provider\Provider;
1919
use ScriptFUSION\Porter\Provider\ProviderFactory;
20-
use ScriptFUSION\Porter\Provider\Resource\ProviderResource;
20+
use ScriptFUSION\Porter\Provider\Resource\Resource;
2121
use ScriptFUSION\Porter\Specification\ImportSpecification;
2222

2323
class Porter
@@ -71,7 +71,7 @@ private function createPorterRecords(RecordCollection $records, ImportSpecificat
7171
return new PorterRecords($records, $specification);
7272
}
7373

74-
private function fetch(ProviderResource $resource, CacheAdvice $cacheAdvice = null)
74+
private function fetch(Resource $resource, CacheAdvice $cacheAdvice = null)
7575
{
7676
$provider = $this->getProvider($resource->getProviderClassName(), $resource->getProviderTag());
7777
$this->applyCacheAdvice($provider, $cacheAdvice ?: $this->defaultCacheAdvice);

src/Porter/Provider/AbstractProvider.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
use ScriptFUSION\Porter\Cache\CacheToggle;
55
use ScriptFUSION\Porter\Cache\CacheUnavailableException;
66
use ScriptFUSION\Porter\Connector\Connector;
7-
use ScriptFUSION\Porter\Provider\Resource\ProviderResource;
7+
use ScriptFUSION\Porter\Provider\Resource\Resource;
88

99
abstract class AbstractProvider implements Provider, CacheToggle
1010
{
@@ -16,13 +16,13 @@ public function __construct(Connector $connector)
1616
}
1717

1818
/**
19-
* @param ProviderResource $resource
19+
* @param Resource $resource
2020
*
2121
* @return \Iterator
2222
*
2323
* @throws ForeignResourceException A foreign resource was received.
2424
*/
25-
public function fetch(ProviderResource $resource)
25+
public function fetch(Resource $resource)
2626
{
2727
if ($resource->getProviderClassName() !== static::class) {
2828
throw new ForeignResourceException(sprintf(

src/Porter/Provider/Provider.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<?php
22
namespace ScriptFUSION\Porter\Provider;
33

4-
use ScriptFUSION\Porter\Provider\Resource\ProviderResource;
4+
use ScriptFUSION\Porter\Provider\Resource\Resource;
55

66
/**
77
* Provides a method for fetching data from a resource.
@@ -11,9 +11,9 @@ interface Provider
1111
/**
1212
* Fetches data from the specified resource.
1313
*
14-
* @param ProviderResource $resource Resource.
14+
* @param Resource $resource Resource.
1515
*
1616
* @return \Iterator Enumerable data series.
1717
*/
18-
public function fetch(ProviderResource $resource);
18+
public function fetch(Resource $resource);
1919
}
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
<?php
2+
namespace ScriptFUSION\Porter\Provider\Resource;
3+
4+
/**
5+
* Partially implements Resource.
6+
*/
7+
abstract class AbstractResource implements Resource
8+
{
9+
/** @var string */
10+
private $providerTag;
11+
12+
/**
13+
* {@inheritdoc}
14+
*
15+
* @return string Provider tag.
16+
*/
17+
public function getProviderTag()
18+
{
19+
return $this->providerTag;
20+
}
21+
22+
/**
23+
* Sets the provider identifier tag.
24+
*
25+
* @param string $tag Provider tag.
26+
*
27+
* @return $this
28+
*/
29+
public function setProviderTag($tag)
30+
{
31+
$this->providerTag = "$tag";
32+
33+
return $this;
34+
}
35+
}

src/Porter/Provider/Resource/ProviderResource.php renamed to src/Porter/Provider/Resource/Resource.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
/**
77
* Defines methods for fetching data from a specific provider resource.
88
*/
9-
interface ProviderResource
9+
interface Resource
1010
{
1111
/**
1212
* Gets the class name of the provider this resource belongs to.

src/Porter/Provider/Resource/StaticResource.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
use ScriptFUSION\Porter\Options\EncapsulatedOptions;
66
use ScriptFUSION\Porter\Provider\StaticDataProvider;
77

8-
class StaticResource implements ProviderResource
8+
class StaticResource implements Resource
99
{
1010
private $data;
1111

src/Porter/Specification/ImportSpecification.php

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,11 @@
33

44
use ScriptFUSION\Mapper\Mapping;
55
use ScriptFUSION\Porter\Cache\CacheAdvice;
6-
use ScriptFUSION\Porter\Provider\Resource\ProviderResource;
6+
use ScriptFUSION\Porter\Provider\Resource\Resource;
77

88
class ImportSpecification
99
{
10-
/** @var ProviderResource */
10+
/** @var Resource */
1111
private $resource;
1212

1313
/** @var Mapping */
@@ -22,7 +22,7 @@ class ImportSpecification
2222
/** @var CacheAdvice */
2323
private $cacheAdvice;
2424

25-
public function __construct(ProviderResource $resource)
25+
public function __construct(Resource $resource)
2626
{
2727
$this->resource = $resource;
2828
}
@@ -35,7 +35,7 @@ public function __clone()
3535
}
3636

3737
/**
38-
* @return ProviderResource
38+
* @return Resource
3939
*/
4040
final public function getResource()
4141
{

0 commit comments

Comments
 (0)