From 4eb705b8011b3617d17235b9a1c627d5f0d6b60d Mon Sep 17 00:00:00 2001 From: jonisavo Date: Sun, 6 Sep 2020 07:01:27 +0300 Subject: [PATCH] Modified HandlerHash#addIf to accept blocks --- Data/Scripts/006_Events and files/002_EventHandlers.rb | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/Data/Scripts/006_Events and files/002_EventHandlers.rb b/Data/Scripts/006_Events and files/002_EventHandlers.rb index 32452638f..009f660bf 100644 --- a/Data/Scripts/006_Events and files/002_EventHandlers.rb +++ b/Data/Scripts/006_Events and files/002_EventHandlers.rb @@ -95,11 +95,14 @@ class HandlerHash return ret end - def addIf(condProc,handler) - @addIfs.push([condProc,handler]) + def addIf(conditionProc,handler=nil,&handlerBlock) + if ![Proc,Hash].include?(handler.class) && !block_given? + raise ArgumentError, "addIf call for #{self.class.name} has no valid handler (#{handler.inspect} was given)" + end + @addIfs.push([conditionProc,handler || handlerBlock]) end - def add(sym,handler=nil,&handlerBlock) # 'sym' can be an ID or symbol + def add(sym,handler=nil,&handlerBlock) # 'sym' can be an ID or symbol if ![Proc,Hash].include?(handler.class) && !block_given? raise ArgumentError, "#{self.class.name} for #{sym.inspect} has no valid handler (#{handler.inspect} was given)" end