Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/phabricator
Path: blob/master/src/applications/guides/guidance/PhabricatorGuidanceEngineExtension.php
13463 views
1
<?php
2
3
abstract class PhabricatorGuidanceEngineExtension
4
extends Phobject {
5
6
final public function getExtensionKey() {
7
return $this->getPhobjectClassConstant('GUIDANCEKEY', 64);
8
}
9
10
abstract public function canGenerateGuidance(
11
PhabricatorGuidanceContext $context);
12
13
abstract public function generateGuidance(
14
PhabricatorGuidanceContext $context);
15
16
public function didGenerateGuidance(
17
PhabricatorGuidanceContext $context,
18
array $guidance) {
19
return $guidance;
20
}
21
22
final protected function newGuidance($key) {
23
return id(new PhabricatorGuidanceMessage())
24
->setKey($key);
25
}
26
27
final protected function newWarning($key) {
28
return $this->newGuidance($key)
29
->setSeverity(PhabricatorGuidanceMessage::SEVERITY_WARNING);
30
}
31
32
final public static function getAllExtensions() {
33
return id(new PhutilClassMapQuery())
34
->setAncestorClass(__CLASS__)
35
->setUniqueMethod('getExtensionKey')
36
->execute();
37
}
38
39
}
40
41