Skip to content
This repository was archived by the owner on Sep 6, 2023. It is now read-only.

Commit 3020ea5

Browse files
committed
Fix generator
1 parent 79e9a76 commit 3020ea5

File tree

1 file changed

+18
-117
lines changed

1 file changed

+18
-117
lines changed

ggrachdev.fishgenerator/classes/general/FishGenerator/Generators/ElementGenerator.php

Lines changed: 18 additions & 117 deletions
Original file line numberDiff line numberDiff line change
@@ -115,101 +115,21 @@ public function generateItem(string $typeGenerator, array $arParams = [], int $c
115115

116116
$valuePropety = null;
117117

118+
if (!empty($arParams[0])) {
119+
$params = explode(',', $arParams[0]);
120+
}
121+
else
122+
{
123+
$params = [];
124+
}
125+
118126
// @todo Вынести в отдельную сущность, написать через рефлексию генерации где нет параметров
119127
switch ($typeGenerator) {
120-
case 'name':
121-
$valuePropety = $this->dataGenerator->name;
122-
break;
123-
124-
case 'inn':
125-
$valuePropety = $this->dataGenerator->inn;
126-
break;
127-
128-
case 'kpp':
129-
$valuePropety = $this->dataGenerator->kpp;
130-
break;
131-
132-
case 'address':
133-
$valuePropety = $this->dataGenerator->address;
134-
break;
135-
136-
case 'text':
137-
$valuePropety = $this->dataGenerator->text;
138-
break;
139-
140-
case 'word':
141-
$valuePropety = $this->dataGenerator->word;
142-
break;
143-
144-
case 'city':
145-
$valuePropety = $this->dataGenerator->city;
146-
break;
147-
148-
case 'country':
149-
$valuePropety = $this->dataGenerator->country;
150-
break;
151-
152-
case 'phoneNumber':
153-
$valuePropety = $this->dataGenerator->phoneNumber;
154-
break;
155-
156-
case 'company':
157-
$valuePropety = $this->dataGenerator->company;
158-
break;
159-
160-
case 'email':
161-
$valuePropety = $this->dataGenerator->email;
162-
break;
163-
164-
case 'streetAddress':
165-
$valuePropety = $this->dataGenerator->streetAddress;
166-
break;
167-
168-
case 'date':
169-
// @todo Добавить формат
170-
$valuePropety = $this->dataGenerator->date;
171-
break;
172-
173-
case 'time':
174-
// @todo Добавить формат
175-
$valuePropety = $this->dataGenerator->time;
176-
break;
177-
178-
case 'year':
179-
$valuePropety = $this->dataGenerator->year;
180-
break;
181-
182-
case 'jobTitle':
183-
$valuePropety = $this->dataGenerator->jobTitle;
184-
break;
185-
186-
case 'lastName':
187-
$valuePropety = $this->dataGenerator->lastName;
188-
break;
189-
190-
case 'firstName':
191-
$valuePropety = $this->dataGenerator->firstName;
192-
break;
193-
194-
case 'hexcolor':
195-
$valuePropety = $this->dataGenerator->hexcolor;
196-
break;
197-
198-
case 'latitude':
199-
$valuePropety = $this->dataGenerator->latitude;
200-
break;
201-
202-
case 'longitude':
203-
$valuePropety = $this->dataGenerator->longitude;
204-
break;
205-
206128
case 'image':
207129

208130
$height = 1000;
209131
$width = 1000;
210132

211-
$params = explode(',', $arParams[0]);
212-
213133
if (!empty($params)) {
214134
if (is_numeric($params[0])) {
215135
$width = $params[0];
@@ -244,13 +164,6 @@ public function generateItem(string $typeGenerator, array $arParams = [], int $c
244164
}
245165
break;
246166

247-
case 'numberBetween':
248-
// @todo Сделать (1, 100) а не (1)(100)
249-
$numberFrom = is_numeric($arParams[0]) ? $arParams[0] : 0;
250-
$numberTo = is_numeric($arParams[1]) ? $arParams[1] : 100;
251-
$valuePropety = $this->dataGenerator->numberBetween($numberFrom, $numberTo);
252-
break;
253-
254167
case 'randomElement':
255168
if ($count == 1) {
256169
if (!empty($arParams[0])) {
@@ -288,32 +201,20 @@ public function generateItem(string $typeGenerator, array $arParams = [], int $c
288201
break;
289202

290203
default:
291-
$rc = new \ReflectionClass($this->dataGenerator);
292-
if($rc->hasMethod($typeGenerator))
293-
{
294-
try {
295-
if ($count == 1) {
296-
$valuePropety = \call_user_func_array([$this->dataGenerator, $typeGenerator], $arParams);
297-
} else {
298-
$valuePropety = [];
299-
for ($i = 0; $i < $count; $i++) {
300-
$valuePropety[] = \call_user_func_array([$this->dataGenerator, $typeGenerator], $arParams);
301-
}
302-
}
303-
} catch (Exception $ex) {
304-
$this->addError($ex->getMessage());
305-
306-
if ($this->isStrictMode) {
307-
throw new GeneratorTypeException($ex->getMessage());
204+
try {
205+
if ($count == 1) {
206+
$valuePropety = \call_user_func_array([$this->dataGenerator, $typeGenerator], $params);
207+
} else {
208+
$valuePropety = [];
209+
for ($i = 0; $i < $count; $i++) {
210+
$valuePropety[] = \call_user_func_array([$this->dataGenerator, $typeGenerator], $params);
308211
}
309212
}
310-
}
311-
else
312-
{
313-
$this->addError('Not found generator type');
213+
} catch (Exception $ex) {
214+
$this->addError($ex->getMessage());
314215

315216
if ($this->isStrictMode) {
316-
throw new GeneratorTypeException('Not found generator type');
217+
throw new GeneratorTypeException($ex->getMessage());
317218
}
318219
}
319220
break;

0 commit comments

Comments
 (0)