From f309783b8273fa6a8d511ea8022a35f65e0eacc3 Mon Sep 17 00:00:00 2001 From: Sacha Telgenhof Date: Wed, 31 Jan 2024 23:27:28 +0900 Subject: [PATCH] style: Upgrade to use latest PHP CS Fixer config and fix code style issues Signed-off-by: Sacha Telgenhof --- phpinsights.php | 126 ++++++++++++++++++++++++++ rector.php | 3 +- src/AirQuality.php | 5 +- src/Exceptions/InvalidAccessToken.php | 3 +- src/Exceptions/QuotaExceeded.php | 3 +- src/Exceptions/UnknownStation.php | 3 +- src/WAQI.php | 7 +- tests/WAQITest.php | 5 +- 8 files changed, 144 insertions(+), 11 deletions(-) create mode 100644 phpinsights.php diff --git a/phpinsights.php b/phpinsights.php new file mode 100644 index 0000000..7051e46 --- /dev/null +++ b/phpinsights.php @@ -0,0 +1,126 @@ + + */ + +return [ + /* + |-------------------------------------------------------------------------- + | Default Preset + |-------------------------------------------------------------------------- + | + | This option controls the default preset that will be used by PHP Insights + | to make your code reliable, simple, and clean. However, you can always + | adjust the `Metrics` and `Insights` below in this configuration file. + | + | Supported: "default", "laravel", "symfony", "magento2", "drupal" + | + */ + + 'preset' => 'symfony', + + /* + |-------------------------------------------------------------------------- + | IDE + |-------------------------------------------------------------------------- + | + | This options allow to add hyperlinks in your terminal to quickly open + | files in your favorite IDE while browsing your PhpInsights report. + | + | Supported: "textmate", "macvim", "emacs", "sublime", "phpstorm", + | "atom", "vscode". + | + | If you have another IDE that is not in this list but which provide an + | url-handler, you could fill this config with a pattern like this: + | + | myide://open?url=file://%f&line=%l + | + */ + + 'ide' => null, + + /* + |-------------------------------------------------------------------------- + | Configuration + |-------------------------------------------------------------------------- + | + | Here you may adjust all the various `Insights` that will be used by PHP + | Insights. You can either add, remove or configure `Insights`. Keep in + | mind, that all added `Insights` must belong to a specific `Metric`. + | + */ + + 'exclude' => [ + // 'path/to/directory-or-file' + ], + + 'add' => [ + /* \SlevomatCodingStandard\Sniffs\Namespaces\FullyQualifiedClassNameInAnnotationSniff::class, */ + /* \SlevomatCodingStandard\Sniffs\ControlStructures\RequireYodaComparisonSniff::class, */ + // ExampleMetric::class => [ + // ExampleInsight::class, + // ] + ], + + 'remove' => [ + SlevomatCodingStandard\Sniffs\ControlStructures\DisallowShortTernaryOperatorSniff::class, + SlevomatCodingStandard\Sniffs\ControlStructures\DisallowYodaComparisonSniff::class, + NunoMaduro\PhpInsights\Domain\Sniffs\ForbiddenSetterSniff::class, + // ExampleInsight::class, + ], + + 'config' => [ + PHP_CodeSniffer\Standards\Generic\Sniffs\Files\LineLengthSniff::class => [ + 'lineLimit' => 120, + 'absoluteLineLimit' => 140, + 'ignoreComments' => false, + ], + // ExampleInsight::class => [ + // 'key' => 'value', + // ], + ], + + /* + |-------------------------------------------------------------------------- + | Requirements + |-------------------------------------------------------------------------- + | + | Here you may define a level you want to reach per `Insights` category. + | When a score is lower than the minimum level defined, then an error + | code will be returned. This is optional and individually defined. + | + */ + + 'requirements' => [ + 'min-quality' => 90, + 'min-complexity' => 90, + 'min-architecture' => 90, + 'min-style' => 90, + 'disable-security-check' => false, + ], + + /* + |-------------------------------------------------------------------------- + | Threads + |-------------------------------------------------------------------------- + | + | Here you may adjust how many threads (core) PHPInsights can use to perform + | the analyse. This is optional, don't provide it and the tool will guess + | the max core number available. It accepts null value or integer > 0. + | + */ + + 'threads' => null, +]; diff --git a/rector.php b/rector.php index 49e1c17..3c3b442 100644 --- a/rector.php +++ b/rector.php @@ -4,7 +4,8 @@ /** * This file is part of the 'azuyalabs/waqi' package. - * A Simple PHP Wrapper for the World Air Quality Index API. + * + * Simple PHP Wrapper for the World Air Quality Index API. * * Copyright (c) 2017 - 2024 AzuyaLabs * diff --git a/src/AirQuality.php b/src/AirQuality.php index e8127e3..652dd38 100644 --- a/src/AirQuality.php +++ b/src/AirQuality.php @@ -4,7 +4,8 @@ /** * This file is part of the 'azuyalabs/waqi' package. - * A Simple PHP Wrapper for the World Air Quality Index API. + * + * Simple PHP Wrapper for the World Air Quality Index API. * * Copyright (c) 2017 - 2024 AzuyaLabs * @@ -70,7 +71,7 @@ public function getAQI(): array; * * @throws \Exception */ - public function getMeasurementTime(): \DateTime; + public function getMeasurementTime(): \DateTimeImmutable; /** * Returns information about this monitoring station. diff --git a/src/Exceptions/InvalidAccessToken.php b/src/Exceptions/InvalidAccessToken.php index c91fbc9..a7f3474 100644 --- a/src/Exceptions/InvalidAccessToken.php +++ b/src/Exceptions/InvalidAccessToken.php @@ -4,7 +4,8 @@ /** * This file is part of the 'azuyalabs/waqi' package. - * A Simple PHP Wrapper for the World Air Quality Index API. + * + * Simple PHP Wrapper for the World Air Quality Index API. * * Copyright (c) 2017 - 2024 AzuyaLabs * diff --git a/src/Exceptions/QuotaExceeded.php b/src/Exceptions/QuotaExceeded.php index 023ca10..22e7d69 100644 --- a/src/Exceptions/QuotaExceeded.php +++ b/src/Exceptions/QuotaExceeded.php @@ -4,7 +4,8 @@ /** * This file is part of the 'azuyalabs/waqi' package. - * A Simple PHP Wrapper for the World Air Quality Index API. + * + * Simple PHP Wrapper for the World Air Quality Index API. * * Copyright (c) 2017 - 2024 AzuyaLabs * diff --git a/src/Exceptions/UnknownStation.php b/src/Exceptions/UnknownStation.php index a0ad40d..68de080 100644 --- a/src/Exceptions/UnknownStation.php +++ b/src/Exceptions/UnknownStation.php @@ -4,7 +4,8 @@ /** * This file is part of the 'azuyalabs/waqi' package. - * A Simple PHP Wrapper for the World Air Quality Index API. + * + * Simple PHP Wrapper for the World Air Quality Index API. * * Copyright (c) 2017 - 2024 AzuyaLabs * diff --git a/src/WAQI.php b/src/WAQI.php index 749c0e6..36eef16 100644 --- a/src/WAQI.php +++ b/src/WAQI.php @@ -4,7 +4,8 @@ /** * This file is part of the 'azuyalabs/waqi' package. - * A Simple PHP Wrapper for the World Air Quality Index API. + * + * Simple PHP Wrapper for the World Air Quality Index API. * * Copyright (c) 2017 - 2024 AzuyaLabs * @@ -164,9 +165,9 @@ public function getAQI(): array * * @throws \Exception */ - public function getMeasurementTime(): \DateTime + public function getMeasurementTime(): \DateTimeImmutable { - return new \DateTime($this->raw_data->time->s, new \DateTimeZone($this->raw_data->time->tz)); + return new \DateTimeImmutable($this->raw_data->time->s, new \DateTimeZone($this->raw_data->time->tz)); } /** diff --git a/tests/WAQITest.php b/tests/WAQITest.php index 4914d4e..7f4c8d6 100644 --- a/tests/WAQITest.php +++ b/tests/WAQITest.php @@ -4,7 +4,8 @@ /** * This file is part of the 'azuyalabs/waqi' package. - * A Simple PHP Wrapper for the World Air Quality Index API. + * + * Simple PHP Wrapper for the World Air Quality Index API. * * Copyright (c) 2017 - 2024 AzuyaLabs * @@ -245,7 +246,7 @@ public function should_get_null_if_no_s_o2(): void */ public function should_get_measurement_time(): void { - $expectedValue = $this->faker->dateTime(); + $expectedValue = \DateTimeImmutable::createFromMutable($this->faker->dateTime()); $this->waqi->shouldReceive('getMeasurementTime') ->once()