Skip to content

Commit 796f00a

Browse files
committed
refactor(Messages): use Utils for setting default options
- Replaced direct calls to setDefault with Utils::methodNameOfSetDefault in multiple message classes. - This change improves consistency and readability of the options configuration. - Ensures a unified approach to setting default values across message classes.
1 parent 9526cf7 commit 796f00a

File tree

17 files changed

+63
-51
lines changed

17 files changed

+63
-51
lines changed

composer.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -363,15 +363,15 @@
363363
"peck:init": "@peck --init",
364364
"pest": [
365365
"@putenv:xdebug-on",
366-
"@php vendor/bin/pest --colors=always --min=80 --coverage --profile",
366+
"@php vendor/bin/pest --colors=always --min=90 --coverage --profile",
367367
"@putenv:xdebug-off"
368368
],
369369
"pest:coverage": "@pest --coverage-html=.build/phpunit/ --coverage-clover=.build/phpunit/clover.xml",
370370
"pest:generate-baseline": "@pest --generate-baseline=phpunit-baseline.xml",
371371
"pest:highest": [
372372
"@putenv:php",
373373
"@putenv:xdebug-on",
374-
"$PHP85 vendor/bin/pest --colors=always --min=80 --coverage --profile",
374+
"$PHP85 vendor/bin/pest --colors=always --min=90 --coverage --profile",
375375
"@putenv:xdebug-off"
376376
],
377377
"pest:migrate-configuration": "@pest --migrate-configuration",

phpstan.neon.dist

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -190,7 +190,7 @@ parameters:
190190
- identifier: trait.unused
191191
- message: '#^Call to an undefined method Symfony\\Component\\OptionsResolver\\OptionsResolver\:\:setOptions\(\)\.$#'
192192
- message: '#^Call to function method_exists\(\) with \$this\(Guanguans\\Notify\\Foundation\\Message\) and ''(defaults|deprecated|normalizers)'' will always evaluate to true\.$#'
193-
- message: '#^Cannot call method (setDefault|setOptions)\(\) on mixed\.$#'
193+
- message: '#^Cannot call method (setDefault|setOptions|setAllowedTypes)\(\) on mixed\.$#'
194194
- message: '#^Class Guanguans\\Notify\\.*\\Messages\\.*Message has PHPDoc tag @method for method .*\(\) parameter \#1 \$.* with no value type specified in iterable type array\.$#'
195195
- message: '#^Cognitive complexity for "Guanguans\\Notify\\Foundation\\Message\:\:preConfigureOptionsResolver\(\)" is (\d|1\d), keep it under 8$#'
196196
- message: '#^Cognitive complexity for "Guanguans\\Notify\\Foundation\\Support\\Arr\:\:forget\(\)" is (\d|1\d), keep it under 8$#'

phpunit.xml.dist

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,8 @@
3737
<directory>tests/</directory>
3838
</testsuite>
3939
</testsuites>
40-
<source ignoreIndirectDeprecations="true">
40+
<!--<source ignoreIndirectDeprecations="true">-->
41+
<source>
4142
<include>
4243
<directory>src/</directory>
4344
</include>

src/Chanify/Messages/TextMessage.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313

1414
namespace Guanguans\Notify\Chanify\Messages;
1515

16+
use Guanguans\Notify\Foundation\Support\Utils;
1617
use Symfony\Component\OptionsResolver\OptionsResolver;
1718

1819
/**
@@ -59,7 +60,7 @@ class TextMessage extends Message
5960

6061
protected function configureOptionsResolver(OptionsResolver $optionsResolver): void
6162
{
62-
$optionsResolver->setDefault('timeline', static function (OptionsResolver $optionsResolver): void {
63+
$optionsResolver->{Utils::methodNameOfSetDefault()}('timeline', static function (OptionsResolver $optionsResolver): void {
6364
$optionsResolver
6465
->setDefined([
6566
'code',

src/DingTalk/Messages/BtnsActionCardMessage.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313

1414
namespace Guanguans\Notify\DingTalk\Messages;
1515

16+
use Guanguans\Notify\Foundation\Support\Utils;
1617
use Symfony\Component\OptionsResolver\OptionsResolver;
1718

1819
/**
@@ -55,7 +56,7 @@ public function addBtn(array $btn): self
5556

5657
protected function configureOptionsResolver(OptionsResolver $optionsResolver): void
5758
{
58-
$optionsResolver->setDefault('btns', static function (OptionsResolver $optionsResolver): void {
59+
$optionsResolver->{Utils::methodNameOfSetDefault()}('btns', static function (OptionsResolver $optionsResolver): void {
5960
$optionsResolver
6061
->setPrototype(true)
6162
->setDefined([

src/DingTalk/Messages/FeedCardMessage.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313

1414
namespace Guanguans\Notify\DingTalk\Messages;
1515

16+
use Guanguans\Notify\Foundation\Support\Utils;
1617
use Symfony\Component\OptionsResolver\OptionsResolver;
1718

1819
/**
@@ -49,7 +50,7 @@ public function addLink(array $link): self
4950

5051
protected function configureOptionsResolver(OptionsResolver $optionsResolver): void
5152
{
52-
$optionsResolver->setDefault('links', static function (OptionsResolver $optionsResolver): void {
53+
$optionsResolver->{Utils::methodNameOfSetDefault()}('links', static function (OptionsResolver $optionsResolver): void {
5354
$optionsResolver
5455
->setPrototype(true)
5556
->setDefined([

src/Discord/Messages/Message.php

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
namespace Guanguans\Notify\Discord\Messages;
1515

1616
use Guanguans\Notify\Foundation\Concerns\AsNullUri;
17+
use Guanguans\Notify\Foundation\Support\Utils;
1718
use Symfony\Component\OptionsResolver\OptionsResolver;
1819

1920
/**
@@ -76,7 +77,7 @@ public function addEmbed(array $embed): self
7677

7778
protected function configureOptionsResolver(OptionsResolver $optionsResolver): void
7879
{
79-
$optionsResolver->setDefault('embeds', static function (OptionsResolver $optionsResolver): void {
80+
$optionsResolver->{Utils::methodNameOfSetDefault()}('embeds', static function (OptionsResolver $optionsResolver): void {
8081
$optionsResolver
8182
->setPrototype(true)
8283
->setDefined([
@@ -99,15 +100,15 @@ protected function configureOptionsResolver(OptionsResolver $optionsResolver): v
99100
int|string $value
100101
): float|int => \is_int($value) ? $value : hexdec($value))
101102
->setAllowedTypes('footer', 'array')
102-
->setDefault('footer', static function (OptionsResolver $optionsResolver): void {
103+
->{Utils::methodNameOfSetDefault()}('footer', static function (OptionsResolver $optionsResolver): void {
103104
$optionsResolver->setDefined([
104105
'text',
105106
'icon_url',
106107
'proxy_icon_url',
107108
]);
108109
})
109110
->setAllowedTypes('image', 'array')
110-
->setDefault('image', static function (OptionsResolver $optionsResolver): void {
111+
->{Utils::methodNameOfSetDefault()}('image', static function (OptionsResolver $optionsResolver): void {
111112
$optionsResolver->setDefined([
112113
'url',
113114
'proxy_url',
@@ -116,7 +117,7 @@ protected function configureOptionsResolver(OptionsResolver $optionsResolver): v
116117
]);
117118
})
118119
->setAllowedTypes('thumbnail', 'array')
119-
->setDefault('thumbnail', static function (OptionsResolver $optionsResolver): void {
120+
->{Utils::methodNameOfSetDefault()}('thumbnail', static function (OptionsResolver $optionsResolver): void {
120121
$optionsResolver->setDefined([
121122
'url',
122123
'proxy_url',
@@ -125,7 +126,7 @@ protected function configureOptionsResolver(OptionsResolver $optionsResolver): v
125126
]);
126127
})
127128
->setAllowedTypes('video', 'array')
128-
->setDefault('video', static function (OptionsResolver $optionsResolver): void {
129+
->{Utils::methodNameOfSetDefault()}('video', static function (OptionsResolver $optionsResolver): void {
129130
$optionsResolver->setDefined([
130131
'url',
131132
'proxy_url',
@@ -134,14 +135,14 @@ protected function configureOptionsResolver(OptionsResolver $optionsResolver): v
134135
]);
135136
})
136137
->setAllowedTypes('provider', 'array')
137-
->setDefault('provider', static function (OptionsResolver $optionsResolver): void {
138+
->{Utils::methodNameOfSetDefault()}('provider', static function (OptionsResolver $optionsResolver): void {
138139
$optionsResolver->setDefined([
139140
'name',
140141
'url',
141142
]);
142143
})
143144
->setAllowedTypes('author', 'array')
144-
->setDefault('author', static function (OptionsResolver $optionsResolver): void {
145+
->{Utils::methodNameOfSetDefault()}('author', static function (OptionsResolver $optionsResolver): void {
145146
$optionsResolver->setDefined([
146147
'name',
147148
'url',
@@ -150,7 +151,7 @@ protected function configureOptionsResolver(OptionsResolver $optionsResolver): v
150151
]);
151152
})
152153
->setAllowedTypes('fields', 'array')
153-
->setDefault('fields', static function (OptionsResolver $optionsResolver): void {
154+
->{Utils::methodNameOfSetDefault()}('fields', static function (OptionsResolver $optionsResolver): void {
154155
$optionsResolver
155156
->setPrototype(true)
156157
->setDefined([

src/Foundation/Rectors/MessageRector.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ private function updateAllowedTypesProperty(Class_ $classNode): void
108108
->property('allowedTypes')
109109
->makeProtected()
110110
->setType('array')
111-
->setDefault($arrayNode = $this->nodeFactory->createArray($allowedTypes->all()))
111+
->{Utils::methodNameOfSetDefault()}($arrayNode = $this->nodeFactory->createArray($allowedTypes->all()))
112112
->getNode();
113113
collect($arrayNode->items)->each(static fn (ArrayItem $arrayItemNode) => $arrayItemNode->setAttribute(
114114
AttributeKey::COMMENTS,
@@ -173,7 +173,7 @@ private function updateMethodsOfListTypeOption(Class_ $classNode): void
173173
->property('options')
174174
->makeProtected()
175175
->setType('array')
176-
->setDefault($arrayNode = $this->nodeFactory->createArray($allowedTypes->map(static fn (): array => [])->all()))
176+
->{Utils::methodNameOfSetDefault()}($arrayNode = $this->nodeFactory->createArray($allowedTypes->map(static fn (): array => [])->all()))
177177
->getNode();
178178
collect($arrayNode->items)->each(static fn (ArrayItem $arrayItemNode) => $arrayItemNode->setAttribute(
179179
AttributeKey::COMMENTS,

src/Lark/Messages/PostMessage.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313

1414
namespace Guanguans\Notify\Lark\Messages;
1515

16+
use Guanguans\Notify\Foundation\Support\Utils;
1617
use Symfony\Component\OptionsResolver\OptionsResolver;
1718

1819
/**
@@ -50,7 +51,7 @@ public function postFor(string $lang, array $post): self
5051

5152
protected function configureOptionsResolver(OptionsResolver $optionsResolver): void
5253
{
53-
$optionsResolver->setDefault('post', static function (OptionsResolver $optionsResolver): void {
54+
$optionsResolver->{Utils::methodNameOfSetDefault()}('post', static function (OptionsResolver $optionsResolver): void {
5455
$optionsResolver
5556
->setPrototype(true)
5657
->setDefined([

src/MicrosoftTeams/Messages/Message.php

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
namespace Guanguans\Notify\MicrosoftTeams\Messages;
1515

1616
use Guanguans\Notify\Foundation\Concerns\AsNullUri;
17+
use Guanguans\Notify\Foundation\Support\Utils;
1718
use Symfony\Component\OptionsResolver\OptionsResolver;
1819

1920
/**
@@ -92,7 +93,7 @@ public function addPotentialAction(array $potentialAction): self
9293
protected function configureOptionsResolver(OptionsResolver $optionsResolver): void
9394
{
9495
$optionsResolver
95-
->setDefault('sections', static function (OptionsResolver $optionsResolver): void {
96+
->{Utils::methodNameOfSetDefault()}('sections', static function (OptionsResolver $optionsResolver): void {
9697
$optionsResolver
9798
->setPrototype(true)
9899
->setDefined([
@@ -113,7 +114,7 @@ protected function configureOptionsResolver(OptionsResolver $optionsResolver): v
113114
->setAllowedTypes('images', 'array')
114115
->setAllowedTypes('potentialAction', 'array');
115116
})
116-
->setDefault('potentialAction', static function (OptionsResolver $optionsResolver): void {
117+
->{Utils::methodNameOfSetDefault()}('potentialAction', static function (OptionsResolver $optionsResolver): void {
117118
$optionsResolver
118119
->setPrototype(true)
119120
->setDefined([

0 commit comments

Comments
 (0)