PluginProbe ʕ •ᴥ•ʔ
Admin Columns / 7.0.13
Admin Columns v7.0.13
7.0.19 2.3.5 2.4 2.4.1 2.4.10 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.4.7 2.4.8 2.4.9 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.5.6.1 2.5.6.2 2.5.6.3 2.5.6.4 3.0 3.0.1 3.0.2 3.0.3 3.0.5 3.0.7 3.1 3.1.1 3.1.10 3.1.2 3.1.3 3.1.5 3.2.3 3.2.7 3.3.1 3.4.1 3.4.6 3.4.8 4.0.1 4.0.3 4.1.6 4.2.2 4.2.5 4.3 4.3.2 4.4.1 4.4.4 4.4.5 4.5.5 4.6.1 4.7.18 4.7.19 4.7.20 4.7.7 7.0.13 7.0.14 7.0.16 trunk 1.0 1.1 1.1.3 1.2 1.2.1 1.3 1.3.1 1.4 1.4.1 1.4.2 1.4.3 1.4.4 1.4.5 1.4.5.1 1.4.6 1.4.6.1 1.4.6.2 1.4.6.3 1.4.6.4 1.4.7 1.4.8 1.4.9 2.0.0 2.0.1 2.0.2 2.0.3 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.2 2.2.1 2.2.1.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.5.1 2.2.6 2.2.6.1 2.2.6.2 2.2.6.3 2.2.6.4 2.2.7 2.2.8 2.2.8.1 2.2.9 2.3.1 2.3.2 2.3.3
codepress-admin-columns / classes / Expression / FloatComparisonSpecification.php
codepress-admin-columns / classes / Expression Last commit date
Exception 3 months ago SpecificationFactory 3 months ago AggregateSpecification.php 3 months ago AndSpecification.php 3 months ago CollectionOperators.php 3 months ago CollectionSpecification.php 3 months ago ComparisonOperators.php 3 months ago ComparisonSpecification.php 3 months ago CompositeSpecification.php 3 months ago ContainsSpecification.php 3 months ago Context.php 3 months ago ContextAwareSpecification.php 3 months ago DateComparisonSpecification.php 3 months ago DateOperators.php 3 months ago DateRangeSpecification.php 3 months ago DateRelativeDaysSpecification.php 3 months ago DateRelativeDeductedSpecification.php 3 months ago DateSpecification.php 3 months ago DateTimeFactory.php 3 months ago DateTrait.php 3 months ago EndsWithSpecification.php 3 months ago FactSpecification.php 3 months ago FactTrait.php 3 months ago FloatComparisonSpecification.php 3 months ago FloatRangeSpecification.php 3 months ago IntegerComparisonSpecification.php 3 months ago IntegerRangeSpecification.php 3 months ago NotSpecification.php 3 months ago NullSpecification.php 3 months ago OperatorExpression.php 3 months ago OrSpecification.php 3 months ago RangeOperators.php 3 months ago RangeSpecification.php 3 months ago Specification.php 3 months ago SpecificationFactory.php 3 months ago StartsWithSpecification.php 3 months ago StringComparisonSpecification.php 3 months ago StringMatchSpecification.php 3 months ago StringOperators.php 3 months ago TypeSpecification.php 3 months ago TypeTrait.php 3 months ago Types.php 3 months ago
FloatComparisonSpecification.php
45 lines
1 <?php
2
3 declare(strict_types=1);
4
5 namespace AC\Expression;
6
7 class FloatComparisonSpecification extends ComparisonSpecification implements TypeSpecification
8 {
9
10 use TypeTrait;
11
12 public function __construct(string $operator, string $fact)
13 {
14 parent::__construct(
15 $operator,
16 $this->create_float_from_value($fact)
17 );
18
19 $this->type = Types::FLOAT;
20 }
21
22 public function is_satisfied_by($value): bool
23 {
24 return '' !== $value && parent::is_satisfied_by((float)$value);
25 }
26
27 private function create_float_from_value(string $fact): float
28 {
29 // convert price to float
30 if (str_contains($fact, ',')) {
31 $fact = str_replace(',', '.', $fact);
32 }
33
34 return (float)$fact;
35 }
36
37 public function export(): array
38 {
39 return array_merge(
40 parent::export(),
41 $this->export_type()
42 );
43 }
44
45 }