1
0
mirror of https://github.com/OpenNebula/one.git synced 2025-02-09 09:57:23 +03:00

Added support for variable message length to ActionManager

git-svn-id: http://svn.opennebula.org/one/trunk@440 3034c82b-c49b-4eb3-8279-a7acafdc01c0
This commit is contained in:
Javier Fontán Muiños 2009-04-01 12:07:03 +00:00
parent eb38f51eb6
commit 2497bb9ff2

View File

@ -110,8 +110,21 @@ class ActionManager
return
end
if @actions[aname][:method].arity != aargs.length
return
arity=@actions[aname][:method].arity
if arity < 0
# Last parameter is an array
arity = -arity - 1
if arity > aargs.length
# Message has not enough parameters
return
end
# Converts last parameters to an array
aargs[arity..-1]=[aargs[arity..-1]]
else
if arity != aargs.length
return
end
end
@action_queue << @actions[aname].merge(:args => aargs)