Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/phabricator
Path: blob/master/src/applications/herald/adapter/HeraldRuleAdapter.php
12256 views
1
<?php
2
3
final class HeraldRuleAdapter extends HeraldAdapter {
4
5
private $rule;
6
7
protected function newObject() {
8
return new HeraldRule();
9
}
10
11
public function getAdapterApplicationClass() {
12
return 'PhabricatorHeraldApplication';
13
}
14
15
public function getAdapterContentDescription() {
16
return pht('React to Herald rules being created or updated.');
17
}
18
19
public function isTestAdapterForObject($object) {
20
return ($object instanceof HeraldRule);
21
}
22
23
public function getAdapterTestDescription() {
24
return pht(
25
'Test rules which run when another Herald rule is created or '.
26
'updated.');
27
}
28
29
protected function initializeNewAdapter() {
30
$this->rule = $this->newObject();
31
}
32
33
public function supportsApplicationEmail() {
34
return true;
35
}
36
37
public function supportsRuleType($rule_type) {
38
switch ($rule_type) {
39
case HeraldRuleTypeConfig::RULE_TYPE_GLOBAL:
40
case HeraldRuleTypeConfig::RULE_TYPE_PERSONAL:
41
return true;
42
case HeraldRuleTypeConfig::RULE_TYPE_OBJECT:
43
default:
44
return false;
45
}
46
}
47
48
public function setRule(HeraldRule $rule) {
49
$this->rule = $rule;
50
return $this;
51
}
52
53
public function getRule() {
54
return $this->rule;
55
}
56
57
public function setObject($object) {
58
$this->rule = $object;
59
return $this;
60
}
61
62
public function getObject() {
63
return $this->rule;
64
}
65
66
public function getAdapterContentName() {
67
return pht('Herald Rules');
68
}
69
70
public function getHeraldName() {
71
return $this->getRule()->getMonogram();
72
}
73
74
}
75
76