mirror of
https://github.com/infinitefusion/infinitefusion-e18.git
synced 2025-12-06 06:01:46 +00:00
Modified HandlerHash#addIf to accept blocks
This commit is contained in:
@@ -95,11 +95,14 @@ class HandlerHash
|
|||||||
return ret
|
return ret
|
||||||
end
|
end
|
||||||
|
|
||||||
def addIf(condProc,handler)
|
def addIf(conditionProc,handler=nil,&handlerBlock)
|
||||||
@addIfs.push([condProc,handler])
|
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
|
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?
|
if ![Proc,Hash].include?(handler.class) && !block_given?
|
||||||
raise ArgumentError, "#{self.class.name} for #{sym.inspect} has no valid handler (#{handler.inspect} was given)"
|
raise ArgumentError, "#{self.class.name} for #{sym.inspect} has no valid handler (#{handler.inspect} was given)"
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user