Skip to content

Commit 6d241b5

Browse files
committed
Simple
1 parent 7b8dcea commit 6d241b5

4 files changed

Lines changed: 21 additions & 25 deletions

File tree

README.md

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -127,13 +127,10 @@ foreach ($jobs as $job) {
127127
use TwoGisParser\Client;
128128
use TwoGisParser\Config;
129129

130+
// Изменить таймаут или базовый URL
130131
$client = new Client('токен', new Config(
131132
apiToken: 'токен',
132-
placesActorId: 'zen-studio/2gis-places-scraper-api', // по умолчанию
133-
reviewsActorId: 'zen-studio/2gis-reviews-scraper',
134-
propertyActorId: 'zen-studio/2gis-property-scraper',
135-
jobsActorId: 'zen-studio/2gis-jobs-scraper',
136-
timeout: 900,
133+
timeout: 600,
137134
));
138135
```
139136

src/Client.php

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ public function scrapePlaces(
6767
$input = array_merge($input, $options);
6868

6969
try {
70-
$items = $this->runActor($this->config->placesActorId, $input);
70+
$items = $this->runActor(Config::PLACES_ACTOR_ID, $input);
7171

7272
return array_map(
7373
static fn (array $item): Place => Place::fromArray($item),
@@ -118,7 +118,7 @@ public function scrapeReviews(
118118
$input = array_merge($input, $options);
119119

120120
try {
121-
$items = $this->runActor($this->config->reviewsActorId, $input);
121+
$items = $this->runActor(Config::REVIEWS_ACTOR_ID, $input);
122122

123123
return array_map(
124124
static fn (array $item): Review => Review::fromArray($item),
@@ -168,7 +168,7 @@ public function scrapeProperties(
168168
$input = array_merge($input, $options);
169169

170170
try {
171-
$items = $this->runActor($this->config->propertyActorId, $input);
171+
$items = $this->runActor(Config::PROPERTY_ACTOR_ID, $input);
172172

173173
return array_map(
174174
static fn (array $item): Property => Property::fromArray($item),
@@ -222,7 +222,7 @@ public function scrapeJobs(
222222
}
223223

224224
try {
225-
$items = $this->runActor($this->config->jobsActorId, $input);
225+
$items = $this->runActor(Config::JOBS_ACTOR_ID, $input);
226226

227227
return array_map(
228228
static fn (array $item): Job => Job::fromArray($item),

src/Config.php

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,16 @@
66

77
final readonly class Config
88
{
9+
public const PLACES_ACTOR_ID = 'zen-studio/2gis-places-scraper-api';
10+
11+
public const REVIEWS_ACTOR_ID = 'zen-studio/2gis-reviews-scraper';
12+
13+
public const PROPERTY_ACTOR_ID = 'zen-studio/2gis-property-scraper';
14+
15+
public const JOBS_ACTOR_ID = 'zen-studio/2gis-jobs-scraper';
16+
917
public function __construct(
1018
public string $apiToken,
11-
public string $placesActorId = 'zen-studio/2gis-places-scraper-api',
12-
public string $reviewsActorId = 'zen-studio/2gis-reviews-scraper',
13-
public string $propertyActorId = 'zen-studio/2gis-property-scraper',
14-
public string $jobsActorId = 'zen-studio/2gis-jobs-scraper',
1519
public string $baseUrl = 'https://api.apify.com/v2',
1620
public int $timeout = 900,
1721
) {}

tests/ConfigTest.php

Lines changed: 7 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -8,30 +8,25 @@
88
$config = new Config('test_api_token');
99

1010
expect($config->apiToken)->toBe('test_api_token')
11-
->and($config->placesActorId)->toBe('zen-studio/2gis-places-scraper-api')
12-
->and($config->reviewsActorId)->toBe('zen-studio/2gis-reviews-scraper')
13-
->and($config->propertyActorId)->toBe('zen-studio/2gis-property-scraper')
14-
->and($config->jobsActorId)->toBe('zen-studio/2gis-jobs-scraper')
1511
->and($config->baseUrl)->toBe('https://api.apify.com/v2')
1612
->and($config->timeout)->toBe(900);
1713
});
1814

1915
it('accepts custom values', function () {
2016
$config = new Config(
2117
apiToken: 'custom_token',
22-
placesActorId: 'custom/places-actor',
23-
reviewsActorId: 'custom/reviews-actor',
24-
propertyActorId: 'custom/property-actor',
25-
jobsActorId: 'custom/jobs-actor',
2618
baseUrl: 'https://custom.api.com/v2',
2719
timeout: 600,
2820
);
2921

3022
expect($config->apiToken)->toBe('custom_token')
31-
->and($config->placesActorId)->toBe('custom/places-actor')
32-
->and($config->reviewsActorId)->toBe('custom/reviews-actor')
33-
->and($config->propertyActorId)->toBe('custom/property-actor')
34-
->and($config->jobsActorId)->toBe('custom/jobs-actor')
3523
->and($config->baseUrl)->toBe('https://custom.api.com/v2')
3624
->and($config->timeout)->toBe(600);
3725
});
26+
27+
it('has hardcoded actor IDs', function () {
28+
expect(Config::PLACES_ACTOR_ID)->toBe('zen-studio/2gis-places-scraper-api')
29+
->and(Config::REVIEWS_ACTOR_ID)->toBe('zen-studio/2gis-reviews-scraper')
30+
->and(Config::PROPERTY_ACTOR_ID)->toBe('zen-studio/2gis-property-scraper')
31+
->and(Config::JOBS_ACTOR_ID)->toBe('zen-studio/2gis-jobs-scraper');
32+
});

0 commit comments

Comments
 (0)