@recaptime-dev's working patches + fork for Phorge, a community fork of Phabricator. (Upstream dev and stable branches are at upstream/main and upstream/stable respectively.)
hq.recaptime.dev/wiki/Phorge
phorge
phabricator
1<?php
2
3final class HeraldPholioMockAdapter extends HeraldAdapter {
4
5 private $mock;
6
7 public function getAdapterApplicationClass() {
8 return PhabricatorPholioApplication::class;
9 }
10
11 public function getAdapterContentDescription() {
12 return pht('React to mocks being created or updated.');
13 }
14
15 protected function initializeNewAdapter() {
16 $this->mock = $this->newObject();
17 }
18
19 protected function newObject() {
20 return new PholioMock();
21 }
22
23 public function isTestAdapterForObject($object) {
24 return ($object instanceof PholioMock);
25 }
26
27 public function getAdapterTestDescription() {
28 return pht(
29 'Test rules which run when a mock is created or updated.');
30 }
31
32 public function setObject($object) {
33 $this->mock = $object;
34 return $this;
35 }
36
37 public function getObject() {
38 return $this->mock;
39 }
40
41 public function setMock(PholioMock $mock) {
42 $this->mock = $mock;
43 return $this;
44 }
45
46 public function getMock() {
47 return $this->mock;
48 }
49
50 public function getAdapterContentName() {
51 return pht('Pholio Mocks');
52 }
53
54 public function supportsRuleType($rule_type) {
55 switch ($rule_type) {
56 case HeraldRuleTypeConfig::RULE_TYPE_GLOBAL:
57 case HeraldRuleTypeConfig::RULE_TYPE_PERSONAL:
58 return true;
59 case HeraldRuleTypeConfig::RULE_TYPE_OBJECT:
60 default:
61 return false;
62 }
63 }
64
65 public function getHeraldName() {
66 return 'M'.$this->getMock()->getID();
67 }
68
69}