Bootstrap   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 37
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 1
Metric Value
wmc 2
eloc 13
c 1
b 0
f 1
dl 0
loc 37
rs 10

2 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 4 1
A preloadPluginClasses() 0 21 1
1
<?php
2
/**
3
 * Copyright © Vaimo Group. All rights reserved.
4
 * See LICENSE_VAIMO.txt for license details.
5
 */
6
namespace Vaimo\ComposerChangelogs\Composer\Plugin;
7
8
class Bootstrap
9
{
10
    /**
11
     * @var \Vaimo\ComposerChangelogs\Composer\Context
12
     */
13
    private $composerCtx;
14
15
    /**
16
     * @param \Vaimo\ComposerChangelogs\Composer\Context $composerCtx
17
     */
18
    public function __construct(
19
        \Vaimo\ComposerChangelogs\Composer\Context $composerCtx
20
    ) {
21
        $this->composerCtx = $composerCtx;
22
    }
23
24
    public function preloadPluginClasses()
25
    {
26
        $composer = $this->composerCtx->getLocalComposer();
27
        
28
        $installationManager = $composer->getInstallationManager();
29
30
        $packageResolver = new \Vaimo\ComposerChangelogs\Resolvers\PluginPackageResolver(
31
            array($composer->getPackage())
32
        );
33
34
        $packageInfoResolver = new \Vaimo\ComposerChangelogs\Resolvers\PackageInfoResolver(
35
            $installationManager
36
        );
37
38
        $sourcesPreloader = new \Vaimo\ComposerChangelogs\Loaders\SourcesPreloader($packageInfoResolver);
39
40
        $packages = $this->composerCtx->getActivePackages();
41
        
42
        $pluginPackage = $packageResolver->resolveForNamespace($packages, __NAMESPACE__);
43
        
44
        $sourcesPreloader->preloadForPackage($pluginPackage);
45
    }
46
}
47