Code Coverage |
||||||||||
Lines |
Functions and Methods |
Classes and Traits |
||||||||
Total | |
100.00% |
6 / 6 |
|
100.00% |
2 / 2 |
CRAP | |
100.00% |
1 / 1 |
MinLength | |
100.00% |
6 / 6 |
|
100.00% |
2 / 2 |
3 | |
100.00% |
1 / 1 |
condition | |
100.00% |
5 / 5 |
|
100.00% |
1 / 1 |
2 | |||
typeName | |
100.00% |
1 / 1 |
|
100.00% |
1 / 1 |
1 |
1 | <?php |
2 | |
3 | /** |
4 | * @license MIT |
5 | * @author hazuki3417<hazuki3417@gmail.com> |
6 | * @copyright 2022 hazuki3417 all rights reserved. |
7 | */ |
8 | |
9 | namespace Selen\Data\Memo\Str; |
10 | |
11 | use Selen\Data\AbstractMemo; |
12 | |
13 | /** |
14 | * 文字列長が最小となる文字列を保持するクラス |
15 | */ |
16 | class MinLength extends AbstractMemo |
17 | { |
18 | /** |
19 | * 値を保持する条件を満たしているか判定します |
20 | * |
21 | * @param string $object |
22 | * |
23 | * @return bool 条件に一致している場合はtrueを、それ以外の場合はfalseを返します |
24 | */ |
25 | protected function condition($object): bool |
26 | { |
27 | if ($this->object === null) { |
28 | $this->object = $object; |
29 | return true; |
30 | } |
31 | |
32 | /** @var string $org */ |
33 | $org = $this->object; |
34 | // TODO: オプションを受け取って細かい挙動を設定できるようにする |
35 | // オプションはコンストラクタで受け取る想定 |
36 | return \mb_strlen($object) < \mb_strlen($org); |
37 | } |
38 | |
39 | /** |
40 | * 保持する値のデータ型を指定します |
41 | * |
42 | * @return string データ型の名称を返します |
43 | */ |
44 | protected function typeName(): string |
45 | { |
46 | return 'string'; |
47 | } |
48 | } |