Skip to content

Commit

Permalink
Dev
Browse files Browse the repository at this point in the history
  • Loading branch information
f3l1x committed Jul 4, 2017
1 parent 273017a commit 6e8318d
Show file tree
Hide file tree
Showing 39 changed files with 158 additions and 511 deletions.
17 changes: 4 additions & 13 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,12 @@ php:
- 7.0
- 7.1
- hhvm
- hhvm-nightly

matrix:
fast_finish: true

allow_failures:
- php: hhvm
- php: hhvm-nightly

include:
- php: 5.6
Expand All @@ -32,24 +30,17 @@ before_script:
# Composer
- travis_retry composer install --no-interaction
# Coverage
- if [[ "$TRAVIS_PHP_VERSION" == "7.0" && "$COMPOSER_FLAG" == "" ]]; then COVERAGE=1; fi
# Phpstan
- if [[ "$TRAVIS_PHP_VERSION" == "7.1" && "$COMPOSER_FLAG" == "" ]]; then PHPSTAN=1; fi
- if [[ "$TRAVIS_PHP_VERSION" == "7.1" && "$COMPOSER_FLAG" == "" ]]; then COVERAGE=1; fi

script:
# Quality Assurance
- composer run-script qa-linter
- composer run-script qa-codesniffer
- travis_retry composer qa

# Nette\Tester
- composer run-script ci
- composer run-script tester

# Nette\Tester + CodeCoverage
- if [ "$COVERAGE" != "" ]; then composer run-script ci-coverage; fi

# PHPSTAN
- if [ "$PHPSTAN" != "" ]; then composer require phpstan/phpstan:^0.6.4; fi
- if [ "$PHPSTAN" != "" ]; then composer run-script qa-phpstan; fi
- if [ "$COVERAGE" != "" ]; then composer tester-coverage; fi

after_script:
# Coverage (Coveralls)
Expand Down
60 changes: 10 additions & 50 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
"authors": [
{
"name": "Milan Felix Sulc",
"homepage": "https://jfx.cz"
"homepage": "https://f3l1x.io"
},
{
"name": "Tlapnet",
Expand All @@ -24,10 +24,10 @@
"contributte/psr-7": "^0.1.2"
},
"require-dev": {
"ninjify/qa": "^0.3.3",
"ninjify/qa": "^0.4.0",
"ninjify/nunjuck": "^0.1.4",
"mockery/mockery": "^0.9.8",
"nette/di": "^2.4.6",
"mockery/mockery": "^0.9.9",
"nette/di": "^2.4.7",
"doctrine/annotations": "^1.3.1",
"nette/reflection": "^2.4.1",
"tracy/tracy": "^2.4.6",
Expand All @@ -52,54 +52,14 @@
},
"scripts": {
"qa": [
"@qa-linter",
"@qa-codesniffer"
"linter src tests",
"codesniffer src tests"
],
"qa-codesniffer": [
"Ninjify\\Composer\\Script\\CodeSniffer::execute"
"tester": [
"tester -s -p php --colors 1 -c tests/php-unix.ini tests/cases"
],
"qa-codefixer": [
"Ninjify\\Composer\\Script\\CodeFixer::execute"
],
"qa-linter": [
"Ninjify\\Composer\\Script\\Linter::execute"
],
"qa-tester": [
"tester --setup vendor/bin/nunjuck-setup -j 40 --colors 1 tests/cases -s -p php -c tests/php-unix.ini"
],
"qa-tester-info": [
"tester --setup vendor/bin/nunjuck-setup -j 40 --colors 1 tests/cases -s -p php -c tests/php-unix.ini -i"
],
"qa-coverage": [
"tester --setup vendor/bin/nunjuck-setup -j 40 --colors 1 tests/cases -s -p php -c tests/php-unix.ini -d extension=xdebug.so --coverage ./coverage.xml --coverage-src ./src"
],
"qa-phpstan": [
"phpstan analyze --level 5 src tests"
],
"ci": [
"tester --setup vendor/bin/nunjuck-setup -j 40 --colors 1 tests/cases -s -p php -i",
"tester --setup vendor/bin/nunjuck-setup -j 40 --colors 1 tests/cases -s -p php"
],
"ci-coverage": [
"tester --setup vendor/bin/nunjuck-setup -j 40 --colors 1 tests/cases -s -p php -d extension=xdebug.so --coverage ./coverage.xml --coverage-src ./src -i",
"tester --setup vendor/bin/nunjuck-setup -j 40 --colors 1 tests/cases -s -p php -d extension=xdebug.so --coverage ./coverage.xml --coverage-src ./src"
"tester-coverage": [
"tester -s -p php --colors 1 -c tests/php-unix.ini -d extension=xdebug.so --coverage ./coverage.xml --coverage-src ./src tests/cases"
]
},
"extra": {
"ninjify": {
"qa": {
"codesniffer": {
"ruleset": "nette",
"folders": ["src", "tests"]
},
"codefixer": {
"ruleset": "nette",
"folders": ["src", "tests"]
},
"linter": {
"folders": ["src", "tests"]
}
}
}
}
}
17 changes: 17 additions & 0 deletions ruleset.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
<?xml version="1.0"?>
<ruleset name="Contributte">
<!-- Extending rulesets -->
<rule ref="vendor/ninjify/coding-standard/ruleset.xml"/>
<!-- My rules -->
<rule ref="SlevomatCodingStandard.Files.TypeNameMatchesFileName">
<properties>
<property name="rootNamespaces" type="array" value="
src=>Contributte\Api,
tests/fixtures=>Fixtures
"/>
</properties>
</rule>

<!-- Exclude folders -->
<exclude-pattern>/tests/tmp</exclude-pattern>
</ruleset>
4 changes: 2 additions & 2 deletions src/DI/Annotation/AnnotationLoader.php
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
<?php

namespace Contributte\Api\Bridges\DI\Annotation;
namespace Contributte\Api\DI\Annotation;

use Contributte\Api\Bridges\DI\Loader\ILoader;
use Contributte\Api\DI\Loader\ILoader;
use Contributte\Api\UI\Controller\IController;
use Nette\DI\ContainerBuilder;
use Nette\DI\ServiceDefinition;
Expand Down
2 changes: 1 addition & 1 deletion src/DI/Annotation/DoctrineAnnotationLoader.php
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?php

namespace Contributte\Api\Bridges\DI\Annotation;
namespace Contributte\Api\DI\Annotation;

use Contributte\Api\Annotation\Controller\Method;
use Contributte\Api\Annotation\Controller\Path;
Expand Down
2 changes: 1 addition & 1 deletion src/DI/Annotation/NetteAnnotationLoader.php
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?php

namespace Contributte\Api\Bridges\DI\Annotation;
namespace Contributte\Api\DI\Annotation;

use Contributte\Api\Schema\Builder\SchemaBuilder;
use Contributte\Api\Schema\Builder\SchemaController;
Expand Down
25 changes: 12 additions & 13 deletions src/DI/ApiExtension.php
Original file line number Diff line number Diff line change
@@ -1,25 +1,24 @@
<?php

namespace Contributte\Api\Bridges\DI;
namespace Contributte\Api\DI;

use Contributte\Api\Bridges\DI\Annotation\DoctrineAnnotationLoader;
use Contributte\Api\Bridges\DI\Annotation\NetteAnnotationLoader;
use Contributte\Api\Bridges\Tracy\BlueScreen\ApiBlueScreen;
use Contributte\Api\Bridges\Tracy\Panel\ApiPanel\ApiPanel;
use Contributte\Api\DI\Annotation\DoctrineAnnotationLoader;
use Contributte\Api\DI\Annotation\NetteAnnotationLoader;
use Contributte\Api\Dispatcher\ApiDispatcher;
use Contributte\Api\Dispatcher\IDispatcher;
use Contributte\Api\Exception\Logical\InvalidStateException;
use Contributte\Api\Router\ApiRouter;
use Contributte\Api\Router\IRouter;
use Contributte\Api\Schema\ApiSchema;
use Contributte\Api\Schema\Builder\SchemaBuilder;
use Contributte\Api\Schema\Factory\ArrayHydrator;
use Contributte\Api\Schema\Generator\ArraySerializator;
use Contributte\Api\Schema\Validator\Impl\PathValidator;
use Contributte\Api\Schema\Validator\Impl\RootPathValidator;
use Contributte\Api\Schema\Serialization\ArrayHydrator;
use Contributte\Api\Schema\Serialization\ArraySerializator;
use Contributte\Api\Schema\Validation\PathValidation;
use Contributte\Api\Schema\Validation\RootPathValidation;
use Contributte\Api\Schema\Validator\SchemaBuilderValidator;
use Contributte\Api\Tracy\Panel\ApiPanel\ApiPanel;
use Contributte\Api\UI\ContainerServiceHandler;
use Contributte\Api\UI\IHandler;
use Contributte\Api\UI\ServiceHandler;
use Nette\DI\CompilerExtension;
use Nette\DI\ContainerBuilder;
use Nette\PhpGenerator\ClassType;
Expand Down Expand Up @@ -59,7 +58,7 @@ public function loadConfiguration()

$builder->addDefinition($this->prefix('handler'))
->setClass(IHandler::class)
->setFactory(ServiceHandler::class);
->setFactory(ContainerServiceHandler::class);

$builder->addDefinition($this->prefix('schema'))
->setClass(ApiSchema::class);
Expand Down Expand Up @@ -154,8 +153,8 @@ protected function loadAnnotations()
protected function validateSchema($builder)
{
$validator = new SchemaBuilderValidator();
$validator->add(new RootPathValidator());
$validator->add(new PathValidator());
$validator->add(new RootPathValidation());
$validator->add(new PathValidation());

$validator->validate($builder);
}
Expand Down
10 changes: 10 additions & 0 deletions src/DI/JsonApiExtension.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
<?php

namespace Contributte\Api\DI;

use Nette\DI\CompilerExtension;

final class JsonApiExtension extends CompilerExtension
{

}
2 changes: 1 addition & 1 deletion src/DI/Loader/ILoader.php
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?php

namespace Contributte\Api\Bridges\DI\Loader;
namespace Contributte\Api\DI\Loader;

use Contributte\Api\Schema\Builder\SchemaBuilder;

Expand Down
2 changes: 1 addition & 1 deletion src/DI/MiddlewareApiExtension.php
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?php

namespace Contributte\Api\Bridges\DI;
namespace Contributte\Api\DI;

use Nette\DI\CompilerExtension;

Expand Down
31 changes: 0 additions & 31 deletions src/Http/Request/ApiRequest.php
Original file line number Diff line number Diff line change
Expand Up @@ -300,35 +300,4 @@ public function getQueryParam($name, $default = NULL)
return $this->getPsr7()->getQueryParams()[$name];
}

/**
* DATA ********************************************************************
*/

/**
* @return bool
*/
public function hasData()
{
return $this->data !== NULL;
}

/**
* @param mixed $data
* @return static
*/
public function setData($data)
{
$this->data = $data;

return $this;
}

/**
* @return mixed
*/
public function getData()
{
return $this->data;
}

}
21 changes: 17 additions & 4 deletions src/Middlewares/ApiContentNegotiation.php
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
<?php

namespace Contributte\Api\Bridges\Middlewares;
namespace Contributte\Api\Middlewares;

use Contributte\Api\Bridges\Middlewares\Negotiation\IRequestNegotiator;
use Contributte\Api\Bridges\Middlewares\Negotiation\IResponseNegotiator;
use Contributte\Api\Http\Request\ApiRequest;
use Contributte\Api\Http\Response\ApiResponse;
use Contributte\Api\Middlewares\Negotiation\IRequestNegotiator;
use Contributte\Api\Middlewares\Negotiation\IResponseNegotiator;
use Exception;

class ApiContentNegotiation
Expand All @@ -27,10 +27,12 @@ class ApiContentNegotiation

/**
* @param array $negotiators
* @param array $options
*/
public function __construct(array $negotiators = [])
public function __construct(array $negotiators = [], array $options = [])
{
$this->addNegotiations($negotiators);
$this->parseOptions($options);
}

/**
Expand Down Expand Up @@ -102,6 +104,17 @@ public function addNegotiations(array $negotiators)
}
}

/**
* @param array $options
* @return void
*/
public function parseOption(array $options)
{
if (isset($options['catch'])) {
$this->setCatchException($options['catch']);
}
}

/**
* API - INVOKING **********************************************************
*/
Expand Down
2 changes: 1 addition & 1 deletion src/Middlewares/ApiEmitter.php
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?php

namespace Contributte\Api\Bridges\Middlewares;
namespace Contributte\Api\Middlewares;

use Contributte\Api\Dispatcher\IDispatcher;
use Contributte\Api\Exception\Logical\InvalidStateException;
Expand Down

0 comments on commit 6e8318d

Please sign in to comment.