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