1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
|
<?php
namespace AutomateWoo\Entity;
/** * RuleGroup class. * * @since 5.1.0 * @package AutomateWoo\Entity */ class RuleGroup implements ToArray {
/** * Array of rule objects. * * @var Rule[] */ protected $rules;
/** * RuleGroup constructor. * * @param Rule[] $rules */ public function __construct( $rules = [] ) { $this->set_rules( $rules ); }
/** * Get the rules in this group. * * @return Rule[] */ public function get_rules() { return $this->rules; }
/** * Set the array of rules within this group. * * @param Rule[] $rules Array of rule objects. * * @return $this */ public function set_rules( $rules ) { $this->rules = []; foreach ( $rules as $rule ) { $this->add_rule( $rule ); }
return $this; }
/** * Add a rule to this group. * * @param Rule $rule The rule to add. * * @return $this */ public function add_rule( Rule $rule ) { $this->rules[] = $rule;
return $this; }
/** * Convert the object's data to an array. * * @return array */ public function to_array(): array { return array_map( function ( Rule $rule ) { return $rule->to_array(); }, $this->rules ); } }
|