| Conditions | 6 |
| Paths | 7 |
| Total Lines | 28 |
| Code Lines | 16 |
| Lines | 0 |
| Ratio | 0 % |
| Changes | 2 | ||
| Bugs | 0 | Features | 0 |
| 1 | <?php |
||
| 16 | public function call() |
||
| 17 | { |
||
| 18 | $builder = $this->getBuilder(); |
||
| 19 | |||
| 20 | $commands = $this->getParam('commands', []); |
||
| 21 | |||
| 22 | foreach ($commands as $command => $data) { |
||
| 23 | $result = $data['result'] ?? null; |
||
| 24 | $dir = $data['dir'] ?? null; |
||
| 25 | $timeout = $data['timeout'] ?? 5; |
||
| 26 | |||
| 27 | $process = new Process($command, $dir); |
||
| 28 | $process->run(); |
||
| 29 | |||
| 30 | if ($timeout) { |
||
| 31 | $process->setTimeout($timeout); |
||
| 32 | } |
||
| 33 | |||
| 34 | $output = $process->getOutput(); |
||
| 35 | |||
| 36 | if (! $process->isSuccessful()) { |
||
| 37 | $builder->down(); |
||
| 38 | } elseif ($result && ! preg_match("|{$result}|", $output)) { |
||
| 39 | $builder->down(); |
||
| 40 | } |
||
| 41 | } |
||
| 42 | |||
| 43 | return $builder->build(); |
||
| 44 | } |
||
| 46 |