Completed
Pull Request — master (#4)
by Korotkov
02:46
created

TeamLead::getDeveloper()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 1
nc 1
nop 0
dl 0
loc 3
rs 10
c 0
b 0
f 0
1
<?php
2
3
declare(strict_types=1);
4
5
/**
6
 * @author    : Korotkov Danila <[email protected]>
7
 * @license   https://mit-license.org/ MIT
8
 */
9
10
namespace Fundamental\Delegation;
11
12
/**
13
 * Class TeamLead
14
 * @package Fundamental\Delegation
15
 */
16
class TeamLead implements DeveloperInterface, DelegationInterface
17
{
18
    /**
19
     * @var DeveloperInterface
20
     */
21
    private $developer;
22
23
    /**
24
     * @param DeveloperInterface $developer
25
     */
26
    public function delegateTo(DeveloperInterface $developer): void
27
    {
28
        $this->developer = $developer;
29
    }
30
31
    /**
32
     * @return string
33
     */
34
    public function writeCode(): string
35
    {
36
        return (new Program('Some excellent code'))->getType();
37
    }
38
39
    /**
40
     * @return string
41
     */
42
    public function getCodeFromDeveloper(): string
43
    {
44
        return $this->getDeveloper()->writeCode();
45
    }
46
47
    /**
48
     * @return DeveloperInterface
49
     */
50
    public function getDeveloper(): DeveloperInterface
51
    {
52
        return $this->developer;
53
    }
54
}
55