ScriptFUSION\Porter\Provider\AbstractProvider::fetch PHP Method

fetch() public method

public fetch ( ScriptFUSION\Porter\Provider\Resource\ProviderResource $resource ) : Iterator
$resource ScriptFUSION\Porter\Provider\Resource\ProviderResource
return Iterator
    public function fetch(ProviderResource $resource)
    {
        if ($resource->getProviderClassName() !== static::class) {
            throw new ForeignResourceException(sprintf('Cannot fetch data from foreign source: "%s".', get_class($resource)));
        }
        return $resource->fetch($this->connector, $this->options ? clone $this->options : null);
    }

Usage Example

 public function testFetchForeignProvider()
 {
     $this->setExpectedException(ForeignResourceException::class);
     $this->provider->fetch(\Mockery::mock(ProviderResource::class)->shouldReceive('getProviderClassName')->andReturn('foo')->getMock());
 }