From 1f1a40d17680de87d55ef0d5eea345ad491518b9 Mon Sep 17 00:00:00 2001 From: Paul van Tilburg Date: Thu, 20 Nov 2014 09:01:42 +0100 Subject: [PATCH] Rescue and log failed rule executions --- lib/hued/engine.rb | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/lib/hued/engine.rb b/lib/hued/engine.rb index 0702f54..9012654 100644 --- a/lib/hued/engine.rb +++ b/lib/hued/engine.rb @@ -139,16 +139,20 @@ module Hued "(i.e. with priority #{prios.last})" end active_rules.each do |rule| - if rule.trigger? - if rule.triggered? - @log.info "Rule \"#{rule.name}\" is active, but has already been triggered" + begin + if rule.trigger? + if rule.triggered? + @log.info "Rule \"#{rule.name}\" is active, but has already been triggered" + else + @log.info "Rule \"#{rule.name}\" is active and should be triggered" + rule.execute + end else - @log.info "Rule \"#{rule.name}\" is active and should be triggered" + @log.info "Rule \"#{rule.name}\" is active and should be triggered (again)" rule.execute end - else - @log.info "Rule \"#{rule.name}\" is active and should be triggered (again)" - rule.execute + rescue => e + @log.error "Could not execute rule: #{e.message}" end end end