def validate_rpc_request(action, arguments)
unless actions.include?(action)
raise DDLValidationError, "Attempted to call action #{action} for #{@pluginname} but it's not declared in the DDL"
end
input = action_interface(action)[:input] || {}
input.keys.each do |key|
unless input[key][:optional]
unless arguments.keys.include?(key)
raise DDLValidationError, "Action #{action} needs a #{key} argument"
end
end
if arguments.keys.include?(key)
validate_input_argument(input, key, arguments[key])
end
end
true
end