Completed
Push — master ( 70c051...4870c0 )
by Hu
01:58
created

Pool::getProcessByName()   A

Complexity

Conditions 3
Paths 3

Size

Total Lines 10
Code Lines 5

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 4
CRAP Score 3.3332

Importance

Changes 3
Bugs 0 Features 2
Metric Value
c 3
b 0
f 2
dl 0
loc 10
ccs 4
cts 6
cp 0.6667
rs 9.4285
cc 3
eloc 5
nc 3
nop 1
crap 3.3332
1
<?php
2
/**
3
 * Created by PhpStorm.
4
 * User: Jenner
5
 * Date: 2015/8/12
6
 * Time: 17:54
7
 */
8
9
namespace Jenner\SimpleFork;
10
11
12
/**
13
 * pool
14
 *
15
 * @package Jenner\SimpleFork
16
 */
17
class Pool extends AbstractPool
18
{
19
20
    /**
21
     * add a process
22
     *
23
     * @param Process $process
24
     * @param null|string $name process name
25
     * @return int
26
     */
27 12
    public function execute(Process $process, $name = null)
28
    {
29 12
        if (!is_null($name)) {
30
            $process->name($name);
31
        }
32 12
        if (!$process->isStarted()) {
33 12
            $process->start();
34 12
        }
35
36 12
        return array_push($this->processes, $process);
37
    }
38
39
    /**
40
     * get process by name
41
     *
42
     * @param string $name process name
43
     * @return Process|null
44
     */
45 3
    public function getProcessByName($name)
46
    {
47 3
        foreach ($this->processes as $process) {
48 3
            if ($process->name() == $name) {
49 3
                return $process;
50
            }
51
        }
52
53
        return null;
54
    }
55
}