Passed
Push — master ( 42c4d1...80535d )
by Allan
02:39 queued 12s
created

ComposerContextFactory   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 32
Duplicated Lines 0 %

Importance

Changes 3
Bugs 0 Features 0
Metric Value
eloc 11
dl 0
loc 32
rs 10
c 3
b 0
f 0
wmc 3

2 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 4 1
A create() 0 14 2
1
<?php
2
/**
3
 * Copyright © Vaimo Group. All rights reserved.
4
 * See LICENSE_VAIMO.txt for license details.
5
 */
6
namespace Vaimo\ComposerPatches\Factories;
7
8
class ComposerContextFactory
9
{
10
    /**
11
     * @var \Composer\Composer
12
     */
13
    private $composer;
14
15
    /**
16
     * @var \Composer\Composer
17
     */
18
    private static $globalComposer;
19
    
20
    public function __construct(
21
        \Composer\Composer $composer
22
    ) {
23
        $this->composer = $composer;
24
    }
25
    
26
    public function create()
27
    {
28
        $instances = array(
29
            $this->composer
30
        );
31
32
        if (self::$globalComposer === null) {
33
            self::$globalComposer = \Composer\Factory::createGlobal(new \Composer\IO\NullIO(), true);
34
        }
35
36
        array_unshift($instances, self::$globalComposer);
37
        
38
        return new \Vaimo\ComposerPatches\Composer\Context(
39
            array_filter($instances)
40
        );
41
    }
42
}
43