diff --git a/composer/rule/base.py b/composer/rule/base.py index 05edbf7..ff89792 100644 --- a/composer/rule/base.py +++ b/composer/rule/base.py @@ -57,12 +57,14 @@ class RuleManager(object): return self.rules.get(event.name, []) def handleEvent(self, event): + result = [] rules = self.getRulesForEvent(event) for r in rules: ri = IRuleInstance(event.context) ri.template = r ri.event = event - ri.applyTemplate() + result.append(ri.applyTemplate()) + return result class Rule(Template): diff --git a/composer/rule/instance.py b/composer/rule/instance.py index 0aee856..7d2d319 100644 --- a/composer/rule/instance.py +++ b/composer/rule/instance.py @@ -47,4 +47,5 @@ class RuleInstance(Instance): handler = component.getAdapter(self, IActionHandler, name=action.handlerName) data = handler(data, action.parameters) + return data