Path: blob/master/src/applications/herald/adapter/HeraldRuleAdapter.php
12256 views
<?php12final class HeraldRuleAdapter extends HeraldAdapter {34private $rule;56protected function newObject() {7return new HeraldRule();8}910public function getAdapterApplicationClass() {11return 'PhabricatorHeraldApplication';12}1314public function getAdapterContentDescription() {15return pht('React to Herald rules being created or updated.');16}1718public function isTestAdapterForObject($object) {19return ($object instanceof HeraldRule);20}2122public function getAdapterTestDescription() {23return pht(24'Test rules which run when another Herald rule is created or '.25'updated.');26}2728protected function initializeNewAdapter() {29$this->rule = $this->newObject();30}3132public function supportsApplicationEmail() {33return true;34}3536public function supportsRuleType($rule_type) {37switch ($rule_type) {38case HeraldRuleTypeConfig::RULE_TYPE_GLOBAL:39case HeraldRuleTypeConfig::RULE_TYPE_PERSONAL:40return true;41case HeraldRuleTypeConfig::RULE_TYPE_OBJECT:42default:43return false;44}45}4647public function setRule(HeraldRule $rule) {48$this->rule = $rule;49return $this;50}5152public function getRule() {53return $this->rule;54}5556public function setObject($object) {57$this->rule = $object;58return $this;59}6061public function getObject() {62return $this->rule;63}6465public function getAdapterContentName() {66return pht('Herald Rules');67}6869public function getHeraldName() {70return $this->getRule()->getMonogram();71}7273}747576