Globals::__construct()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 2
Bugs 0 Features 1
Metric Value
cc 1
eloc 1
c 2
b 0
f 1
nc 1
nop 1
dl 0
loc 3
rs 10
1
<?php
2
3
namespace PiouPiou\RibsAdminBundle\Service;
4
5
use Symfony\Component\DependencyInjection\ContainerInterface;
6
7
class Globals
8
{
9
	/**
10
	 * @var ContainerInterface
11
	 */
12
	private $container;
13
14
    /**
15
     * Globals constructor.
16
     * @param ContainerInterface $container
17
     */
18
    public function __construct(ContainerInterface $container)
19
	{
20
		$this->container = $container;
21
	}
22
	
23
	/**
24
	 * this method send path on dev mode to correct write package name
25
	 * @param string $package
26
	 * @return string
27
	 */
28
	private function getPackageDevName(string $package) {
29
		$bundle = explode("/", $package)[1];
30
		$explode = explode("-", $bundle);
31
		
32
		$package_name = "";
33
		
34
		foreach ($explode as $string) {
35
			$package_name .= ucfirst($string);
36
		}
37
		
38
		return $package_name;
39
	}
40
41
    /**
42
     * this method send base bundle path related to ribs-admin
43
     * @param string|null $package
44
     * @param bool $dev_mode
45
     * @return string
46
     */
47
	public function getBaseBundlePath(string $package = "piou-piou/ribs-admin-bundle", bool $dev_mode = false): string
48
	{
49
		$path = $this->container->get('kernel')->getProjectDir();
50
51
        $dev_mode = $package === "piou-piou/ribs-admin-bundle" ? $this->container->getParameter("ribs_admin.dev_mode"): $dev_mode;
52
53
		if ($dev_mode === true) {
54
			$package = "/lib/".$this->getPackageDevName($package);
55
		} else {
56
            $package = "/vendor/" . $package;
57
        }
58
		
59
		return $path . $package;
60
	}
61
}
62