Code Coverage
 
Classes and Traits
Functions and Methods
Lines
Total
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
2 / 2
CRAP
100.00% covered (success)
100.00%
13 / 13
ProcessFactoryStatus
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
2 / 2
7
100.00% covered (success)
100.00%
13 / 13
 createProcessFactoryStatus
100.00% covered (success)
100.00%
1 / 1
1
100.00% covered (success)
100.00%
2 / 2
 processVerify
100.00% covered (success)
100.00%
1 / 1
6
100.00% covered (success)
100.00%
11 / 11
1<?php
2
3namespace Qmp\Laravel\AsyncProcessFactory\Traits;
4
5use Qmp\Laravel\AsyncProcessFactory\ProcessStatus;
6
7trait ProcessFactoryStatus
8{
9    /**
10     * The ProcessStatus
11     *
12     * @var ProcessStatus
13     */
14    protected $factoryStatus;
15    
16    /**
17     * Create the ProcessStatus
18     *
19     * @return void
20     */
21    protected function createProcessFactoryStatus()
22    {
23        $this->factoryStatus = new ProcessStatus(explode(' ', $this->signature)[0]);
24    }
25
26    /**
27     * Verify all processes
28     *
29     * @return ProcessStatus
30     */
31    protected function processVerify(): ProcessStatus
32    {
33        if(!$this->factoryStatus) {
34            $this->createProcessFactoryStatus();
35        }
36
37        if(property_exists($this, 'ttl')) {
38            $this->factoryStatus->setTtl($this->ttl);
39        }
40
41        if(property_exists($this, 'maxTry')) {
42            $this->factoryStatus->setMaxTry($this->maxTry);
43        }
44
45        if(property_exists($this, 'maxProcess')) {
46            $this->factoryStatus->setMaxProcess($this->maxProcess);
47        }
48
49        if(property_exists($this, 'autoKill')) {
50            $this->factoryStatus->setAutoKill($this->autoKill);
51        }
52
53        return $this->factoryStatus->verify($this->toVerify);
54    }
55}
56