Skip to content

Commit efa32ce

Browse files
committed
feat: refactor Extractor classes to improve constructor dependency injection
1 parent ff5d41a commit efa32ce

File tree

5 files changed

+75
-20
lines changed

5 files changed

+75
-20
lines changed

src/Adapters/Archive/Extractor.php

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,27 @@
44
namespace Embed\Adapters\Archive;
55

66
use Embed\Extractor as Base;
7+
use Embed\Http\Crawler;
8+
use Psr\Http\Message\RequestInterface;
9+
use Psr\Http\Message\ResponseInterface;
10+
use Psr\Http\Message\UriInterface;
711

812
class Extractor extends Base
913
{
10-
private ?Api $api = null;
14+
private Api $api;
15+
16+
public function __construct(
17+
UriInterface $uri,
18+
RequestInterface $request,
19+
ResponseInterface $response,
20+
Crawler $crawler
21+
) {
22+
parent::__construct($uri, $request, $response, $crawler);
23+
$this->api = new Api($this);
24+
}
1125

1226
public function getApi(): Api
1327
{
14-
if ($this->api === null) {
15-
$this->api = new Api($this);
16-
}
1728
return $this->api;
1829
}
1930

src/Adapters/Gist/Extractor.php

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,27 @@
44
namespace Embed\Adapters\Gist;
55

66
use Embed\Extractor as Base;
7+
use Embed\Http\Crawler;
8+
use Psr\Http\Message\RequestInterface;
9+
use Psr\Http\Message\ResponseInterface;
10+
use Psr\Http\Message\UriInterface;
711

812
class Extractor extends Base
913
{
10-
private ?Api $api = null;
14+
private Api $api;
15+
16+
public function __construct(
17+
UriInterface $uri,
18+
RequestInterface $request,
19+
ResponseInterface $response,
20+
Crawler $crawler
21+
) {
22+
parent::__construct($uri, $request, $response, $crawler);
23+
$this->api = new Api($this);
24+
}
1125

1226
public function getApi(): Api
1327
{
14-
if ($this->api === null) {
15-
$this->api = new Api($this);
16-
}
1728
return $this->api;
1829
}
1930

src/Adapters/ImageShack/Extractor.php

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,27 @@
44
namespace Embed\Adapters\ImageShack;
55

66
use Embed\Extractor as Base;
7+
use Embed\Http\Crawler;
8+
use Psr\Http\Message\RequestInterface;
9+
use Psr\Http\Message\ResponseInterface;
10+
use Psr\Http\Message\UriInterface;
711

812
class Extractor extends Base
913
{
10-
private ?Api $api = null;
14+
private Api $api;
15+
16+
public function __construct(
17+
UriInterface $uri,
18+
RequestInterface $request,
19+
ResponseInterface $response,
20+
Crawler $crawler
21+
) {
22+
parent::__construct($uri, $request, $response, $crawler);
23+
$this->api = new Api($this);
24+
}
1125

1226
public function getApi(): Api
1327
{
14-
if ($this->api === null) {
15-
$this->api = new Api($this);
16-
}
1728
return $this->api;
1829
}
1930

src/Adapters/Twitter/Extractor.php

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,27 @@
44
namespace Embed\Adapters\Twitter;
55

66
use Embed\Extractor as Base;
7+
use Embed\Http\Crawler;
8+
use Psr\Http\Message\RequestInterface;
9+
use Psr\Http\Message\ResponseInterface;
10+
use Psr\Http\Message\UriInterface;
711

812
class Extractor extends Base
913
{
10-
private ?Api $api = null;
14+
private Api $api;
15+
16+
public function __construct(
17+
UriInterface $uri,
18+
RequestInterface $request,
19+
ResponseInterface $response,
20+
Crawler $crawler
21+
) {
22+
parent::__construct($uri, $request, $response, $crawler);
23+
$this->api = new Api($this);
24+
}
1125

1226
public function getApi(): Api
1327
{
14-
if ($this->api === null) {
15-
$this->api = new Api($this);
16-
}
1728
return $this->api;
1829
}
1930

src/Adapters/Wikipedia/Extractor.php

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,27 @@
44
namespace Embed\Adapters\Wikipedia;
55

66
use Embed\Extractor as Base;
7+
use Embed\Http\Crawler;
8+
use Psr\Http\Message\RequestInterface;
9+
use Psr\Http\Message\ResponseInterface;
10+
use Psr\Http\Message\UriInterface;
711

812
class Extractor extends Base
913
{
10-
private ?Api $api = null;
14+
private Api $api;
15+
16+
public function __construct(
17+
UriInterface $uri,
18+
RequestInterface $request,
19+
ResponseInterface $response,
20+
Crawler $crawler
21+
) {
22+
parent::__construct($uri, $request, $response, $crawler);
23+
$this->api = new Api($this);
24+
}
1125

1226
public function getApi(): Api
1327
{
14-
if ($this->api === null) {
15-
$this->api = new Api($this);
16-
}
1728
return $this->api;
1829
}
1930

0 commit comments

Comments
 (0)