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

Pool   A

Complexity

Total Complexity 6

Size/Duplication

Total Lines 39
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 2

Test Coverage

Coverage 71.43%

Importance

Changes 9
Bugs 0 Features 5
Metric Value
wmc 6
c 9
b 0
f 5
lcom 1
cbo 2
dl 0
loc 39
ccs 10
cts 14
cp 0.7143
rs 10

2 Methods

Rating   Name   Duplication   Size   Complexity  
A execute() 0 11 3
A getProcessByName() 0 10 3
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
}