You could try
ruby {
init => '
def doSomething(object, name, event)
#puts "Working on #{name}"
#Removed "if object" test since we need to process null valued fields
if object.kind_of?(Hash) and object != {}
object.each { |k, v| doSomething(v, "#{name}[#{k}]", event) }
elsif object.kind_of?(Array) and object != []
object.each_index { |i| doSomething(object[i], "#{name}[#{i}]", event) }
else
lastElement = name.gsub(/^.*\[/, "").gsub(/\]$/, "")
if lastElement =~ /^n1D/
event.remove(name)
end
end
end
'
code => '
event.to_hash.each { |k, v|
doSomething(v, "[#{k}]", event)
}
'
}