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

ComposerContextFactory::__construct()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 1
nc 1
nop 1
dl 0
loc 4
rs 10
c 1
b 0
f 0
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