Refactored method to check whether a transaction is triggered by a list of triggers

This commit is contained in:
Robert Horlings 2016-02-17 10:24:40 +01:00
parent e7bb4a8ec6
commit b9620b3a21

View File

@ -92,6 +92,22 @@ class Processor
} }
/**
* Checks whether the current transaction is triggered by the current rule
* @return boolean
*/
public function isTriggered() {
return $this->triggered();
}
/**
* Checks whether the current transaction is triggered by the list of given triggers
* @return boolean
*/
public function isTriggeredBy(array $triggers) {
return $this->triggeredBy($triggers);
}
/** /**
* @return bool * @return bool
*/ */
@ -121,14 +137,15 @@ class Processor
} }
/** /**
* Method to check whether the current transaction would be triggered
* by the given list of triggers
* @return bool * @return bool
*/ */
protected function triggered() protected function triggeredBy($triggers) {
{
$foundTriggers = 0; $foundTriggers = 0;
$hitTriggers = 0; $hitTriggers = 0;
/** @var RuleTrigger $trigger */ /** @var RuleTrigger $trigger */
foreach ($this->rule->ruleTriggers()->orderBy('order', 'ASC')->get() as $trigger) { foreach ($triggers as $trigger) {
$foundTriggers++; $foundTriggers++;
$type = $trigger->trigger_type; $type = $trigger->trigger_type;
@ -156,6 +173,14 @@ class Processor
return ($hitTriggers == $foundTriggers); return ($hitTriggers == $foundTriggers);
} }
/**
* Checks whether the current transaction is triggered by the current rule
* @return bool
*/
protected function triggered()
{
return $this->triggeredBy($this->rule->ruleTriggers()->orderBy('order', 'ASC')->get());
}
} }