Skip to content

Commit

Permalink
Merge pull request #32 from sroehrl/bugfixes
Browse files Browse the repository at this point in the history
Closes issues #26
  • Loading branch information
sroehrl authored Aug 27, 2022
2 parents 165a9dd + 5044e44 commit 3ecfd62
Show file tree
Hide file tree
Showing 6 changed files with 94 additions and 35 deletions.
28 changes: 28 additions & 0 deletions src/Helper/ComposerParser.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
<?php

namespace Neoan\Helper;

use Neoan\NeoanApp;

class ComposerParser
{
private NeoanApp $app;
private array $composerData;
public function __construct(NeoanApp $app)
{
$this->app = $app;
$composerFile = file_get_contents($app->cliPath . '/composer.json');
$this->composerData = json_decode($composerFile, true);
}
public function getAutoloadNamespaces(): array
{
$all = [];
if(isset($this->composerData['autoload']['psr-4'])){
$all = [...$this->composerData['autoload']['psr-4']];
}
if(isset($this->composerData['autoload-dev']['psr-4'])){
$all = [...$all, ...$this->composerData['autoload-dev']['psr-4']];
}
return $all;
}
}
7 changes: 6 additions & 1 deletion src/NeoanApp.php
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ class NeoanApp
public string $publicPath;
public string $webPath;
public string $cliPath;
private static NeoanApp $instance;

public function __construct(string $appPath, string $publicPath, string $cliPath = __DIR__)
{
Expand All @@ -26,7 +27,7 @@ public function __construct(string $appPath, string $publicPath, string $cliPath
define('base', $protocol . $_SERVER['HTTP_HOST'] . $this->webPath);
}
}

self::$instance = $this;
}

/**
Expand All @@ -42,4 +43,8 @@ public function invoke($instance): void
{
$instance($this);
}
public static function getInstance(): self
{
return self::$instance;
}
}
5 changes: 3 additions & 2 deletions src/Routing/AttributeRouting.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

namespace Neoan\Routing;

use Neoan\Helper\ComposerParser;
use Neoan\NeoanApp;
use ReflectionClass;
use ReflectionException;
Expand All @@ -18,8 +19,8 @@ public function __construct(private readonly string $searchableNamespace)

public function __invoke(NeoanApp $neoanApp): void
{
$composerFile = json_decode(file_get_contents($neoanApp->cliPath . '/composer.json'), true);
$autoloader = array_merge($composerFile['autoload']['psr-4'], $composerFile['autoload-dev']['psr-4']);
$composer = new ComposerParser($neoanApp);
$autoloader = $composer->getAutoloadNamespaces();
$nameSpaceParts = explode('\\', $this->searchableNamespace);
$searchable = '';
foreach($nameSpaceParts as $part) {
Expand Down
Binary file modified tests/Mocks/database.db
Binary file not shown.
5 changes: 5 additions & 0 deletions tests/NeoanAppTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,11 @@ function testInitiation()
$testApp->invoke($listenable);
$this->assertTrue(isset($testApp->testVariable));
}
function testGetInstance()
{
$testApp = new NeoanApp(__DIR__, __DIR__);
$this->assertInstanceOf(NeoanApp::class, NeoanApp::getInstance());
}
/*function testRun()
{
$testApp = new NeoanApp(__DIR__, __DIR__);
Expand Down
84 changes: 52 additions & 32 deletions tests/clover.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<coverage generated="1661383242">
<project timestamp="1661383242">
<coverage generated="1661568570">
<project timestamp="1661568570">
<file name="C:\xampp\htdocs\neoan.io-tools\lenkrad-core\src\CoreInterfaces\RequestInterface.php">
<metrics loc="12" ncloc="12" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
</file>
Expand Down Expand Up @@ -290,6 +290,23 @@
<line num="94" type="stmt" count="24"/>
<metrics loc="97" ncloc="94" classes="1" methods="6" coveredmethods="6" conditionals="0" coveredconditionals="0" statements="36" coveredstatements="36" elements="42" coveredelements="42"/>
</file>
<file name="C:\xampp\htdocs\neoan.io-tools\lenkrad-core\src\Helper\ComposerParser.php">
<class name="Neoan\Helper\ComposerParser" namespace="global">
<metrics complexity="4" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="9" coveredstatements="9" elements="11" coveredelements="11"/>
</class>
<line num="11" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="1"/>
<line num="13" type="stmt" count="1"/>
<line num="14" type="stmt" count="1"/>
<line num="15" type="stmt" count="1"/>
<line num="17" type="method" name="getAutoloadNamespaces" visibility="public" complexity="3" crap="3" count="1"/>
<line num="19" type="stmt" count="1"/>
<line num="20" type="stmt" count="1"/>
<line num="21" type="stmt" count="1"/>
<line num="23" type="stmt" count="1"/>
<line num="24" type="stmt" count="1"/>
<line num="26" type="stmt" count="1"/>
<metrics loc="28" ncloc="28" classes="1" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="9" coveredstatements="9" elements="11" coveredelements="11"/>
</file>
<file name="C:\xampp\htdocs\neoan.io-tools\lenkrad-core\src\Helper\DataNormalization.php">
<class name="Neoan\Helper\DataNormalization" namespace="global">
<metrics complexity="20" methods="11" coveredmethods="11" conditionals="0" coveredconditionals="0" statements="25" coveredstatements="25" elements="36" coveredelements="36"/>
Expand Down Expand Up @@ -354,12 +371,12 @@
<line num="15" type="stmt" count="1"/>
<line num="16" type="stmt" count="1"/>
<line num="17" type="stmt" count="1"/>
<line num="23" type="method" name="initialize" visibility="public" complexity="2" crap="2" count="7"/>
<line num="25" type="stmt" count="7"/>
<line num="23" type="method" name="initialize" visibility="public" complexity="2" crap="2" count="8"/>
<line num="25" type="stmt" count="8"/>
<line num="26" type="stmt" count="1"/>
<line num="28" type="stmt" count="7"/>
<line num="31" type="method" name="get" visibility="public" complexity="1" crap="1" count="8"/>
<line num="33" type="stmt" count="8"/>
<line num="28" type="stmt" count="8"/>
<line num="31" type="method" name="get" visibility="public" complexity="1" crap="1" count="9"/>
<line num="33" type="stmt" count="9"/>
<metrics loc="35" ncloc="34" classes="1" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="7" coveredstatements="7" elements="10" coveredelements="10"/>
</file>
<file name="C:\xampp\htdocs\neoan.io-tools\lenkrad-core\src\Helper\FileParser.php">
Expand Down Expand Up @@ -778,21 +795,24 @@
</file>
<file name="C:\xampp\htdocs\neoan.io-tools\lenkrad-core\src\NeoanApp.php">
<class name="Neoan\NeoanApp" namespace="global">
<metrics complexity="5" methods="2" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="10" coveredstatements="9" elements="12" coveredelements="10"/>
<metrics complexity="6" methods="3" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="12" coveredstatements="11" elements="15" coveredelements="13"/>
</class>
<line num="16" type="method" name="__construct" visibility="public" complexity="3" crap="3.01" count="7"/>
<line num="18" type="stmt" count="7"/>
<line num="19" type="stmt" count="7"/>
<line num="20" type="stmt" count="7"/>
<line num="21" type="stmt" count="7"/>
<line num="22" type="stmt" count="7"/>
<line num="23" type="stmt" count="7"/>
<line num="24" type="stmt" count="7"/>
<line num="25" type="stmt" count="7"/>
<line num="26" type="stmt" count="0"/>
<line num="41" type="method" name="invoke" visibility="public" complexity="1" crap="1" count="1"/>
<line num="43" type="stmt" count="1"/>
<metrics loc="45" ncloc="42" classes="1" methods="2" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="10" coveredstatements="9" elements="12" coveredelements="10"/>
<line num="17" type="method" name="__construct" visibility="public" complexity="3" crap="3.01" count="8"/>
<line num="19" type="stmt" count="8"/>
<line num="20" type="stmt" count="8"/>
<line num="21" type="stmt" count="8"/>
<line num="22" type="stmt" count="8"/>
<line num="23" type="stmt" count="8"/>
<line num="24" type="stmt" count="8"/>
<line num="25" type="stmt" count="8"/>
<line num="26" type="stmt" count="8"/>
<line num="27" type="stmt" count="0"/>
<line num="30" type="stmt" count="8"/>
<line num="42" type="method" name="invoke" visibility="public" complexity="1" crap="1" count="1"/>
<line num="44" type="stmt" count="1"/>
<line num="46" type="method" name="getInstance" visibility="public" complexity="1" crap="1" count="1"/>
<line num="48" type="stmt" count="1"/>
<metrics loc="50" ncloc="47" classes="1" methods="3" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="12" coveredstatements="11" elements="15" coveredelements="13"/>
</file>
<file name="C:\xampp\htdocs\neoan.io-tools\lenkrad-core\src\Render\RenderEngine.php">
<metrics loc="10" ncloc="10" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
Expand Down Expand Up @@ -982,9 +1002,8 @@
<class name="Neoan\Routing\AttributeRouting" namespace="global">
<metrics complexity="15" methods="4" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="26" coveredstatements="26" elements="30" coveredelements="30"/>
</class>
<line num="14" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="1"/>
<line num="19" type="method" name="__invoke" visibility="public" complexity="4" crap="4" count="1"/>
<line num="21" type="stmt" count="1"/>
<line num="15" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="1"/>
<line num="20" type="method" name="__invoke" visibility="public" complexity="4" crap="4" count="1"/>
<line num="22" type="stmt" count="1"/>
<line num="23" type="stmt" count="1"/>
<line num="24" type="stmt" count="1"/>
Expand All @@ -994,24 +1013,25 @@
<line num="28" type="stmt" count="1"/>
<line num="29" type="stmt" count="1"/>
<line num="30" type="stmt" count="1"/>
<line num="38" type="method" name="directoryExplorer" visibility="private" complexity="7" crap="7" count="1"/>
<line num="40" type="stmt" count="1"/>
<line num="31" type="stmt" count="1"/>
<line num="39" type="method" name="directoryExplorer" visibility="private" complexity="7" crap="7" count="1"/>
<line num="41" type="stmt" count="1"/>
<line num="43" type="stmt" count="1"/>
<line num="42" type="stmt" count="1"/>
<line num="44" type="stmt" count="1"/>
<line num="45" type="stmt" count="1"/>
<line num="46" type="stmt" count="1"/>
<line num="51" type="stmt" count="1"/>
<line num="47" type="stmt" count="1"/>
<line num="52" type="stmt" count="1"/>
<line num="53" type="stmt" count="1"/>
<line num="61" type="method" name="reflectUpon" visibility="private" complexity="3" crap="3" count="1"/>
<line num="63" type="stmt" count="1"/>
<line num="54" type="stmt" count="1"/>
<line num="62" type="method" name="reflectUpon" visibility="private" complexity="3" crap="3" count="1"/>
<line num="64" type="stmt" count="1"/>
<line num="65" type="stmt" count="1"/>
<line num="66" type="stmt" count="1"/>
<line num="67" type="stmt" count="1"/>
<line num="68" type="stmt" count="1"/>
<metrics loc="73" ncloc="68" classes="1" methods="4" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="26" coveredstatements="26" elements="30" coveredelements="30"/>
<line num="69" type="stmt" count="1"/>
<metrics loc="74" ncloc="69" classes="1" methods="4" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="26" coveredstatements="26" elements="30" coveredelements="30"/>
</file>
<file name="C:\xampp\htdocs\neoan.io-tools\lenkrad-core\src\Routing\Attributes\Delete.php">
<class name="Neoan\Routing\Attributes\Delete" namespace="global">
Expand Down Expand Up @@ -1213,6 +1233,6 @@
<line num="60" type="stmt" count="21"/>
<metrics loc="62" ncloc="62" classes="2" methods="7" coveredmethods="7" conditionals="0" coveredconditionals="0" statements="16" coveredstatements="16" elements="23" coveredelements="23"/>
</file>
<metrics files="58" loc="2636" ncloc="2533" classes="43" methods="199" coveredmethods="191" conditionals="0" coveredconditionals="0" statements="705" coveredstatements="697" elements="904" coveredelements="888"/>
<metrics files="59" loc="2670" ncloc="2567" classes="44" methods="202" coveredmethods="194" conditionals="0" coveredconditionals="0" statements="716" coveredstatements="708" elements="918" coveredelements="902"/>
</project>
</coverage>

0 comments on commit 3ecfd62

Please sign in to comment.