Aller au contenu

Code Ruby

Ruby s’exécute en CRuby compilé en WebAssembly. Aucun Ruby n’est requis sur votre machine.

SymboleRôle
$inputLa valeur reçue sur le port d’entrée, déjà décodée depuis JSON
$varsLes variables de run
putsÉcrit dans le journal de l’exécution
La dernière expressionSa valeur part sur le port result, encodée en JSON

Notez les variables globales ($input, $vars) : c’est la convention Ruby pour ce qui vient de l’extérieur du script.

commandes = $input["commandes"]
payees = commandes.select { |c| c["statut"] == "payee" }
total = payees.sum { |c| c["montant"] }
puts "#{payees.size} commandes payées, total #{total}"
{ "nombre" => payees.size, "total" => total }

La bibliothèque standard de Ruby est disponible : json, digest, base64, time, uri, set

require "digest"
{ "empreinte" => Digest::SHA256.hexdigest($input["corps"]) }

Le champ packages accepte des gems pur Ruby. Une gem contenant une extension native est refusée et l’exécution part sur le port error.