Yann :
> Voici donc le code que j'ai pondu pour me connecter aux serveurs de
> paiement électronique du Crédit Mutuel / CIC :
>
> http://strasslab.net/blog/index.php?2007/05/10/247-petit-intermede-technique

Merci pour le code.

Mes premières remarques, parfois cosmétiques :

- Dans la méthode show, il y a :

@data = @tpe + "*" + @date + "*" + @montant + "*" + @reference +
"*" + @texte_libre + "*" + @version + "*" + @lgue + "*" + @societe + "*"

j'aurais tendance à préférer :

@data = "[EMAIL PROTECTED]@[EMAIL PROTECTED]@[EMAIL PROTECTED]"

(car on crée moins d'objets String, au détriment de la lisibilité)

ou dans ce cas-ci :

@data = [ @tpe, @date, @montant, @reference, @texte_libre,
     @version, @lgue, @societe ].join("*") + "*"

De plus @data ne sert pas dans la vue, donc une variable locale
suffit non ? data

- Dans la méthode confirm :
Il y a deux fois : @mac = params[:MAC]

et écrire @mac = params[:MAC].downcase

... permet d'avoir une conditionnelle plus claire je trouve :

if @mac == hmac(@data)

- S'il y a un render :text à la fin de la méthode #confirm,
pourquoi avoir des variables d'instance @tpe, @date...
alors que des variables locales suffisent ?

- à quoi sert @result ?

- je ne suis pas trop adepte du +=

@data += "..."

pour moi, écrire @data << "..." économise un objet String

- Dans le render :text il y a un Time.now.strftime("%d/%m/%Y:%H:%M:%S")
visiblement le même que dans #show, tu gagnerais à le
factoriser, pour n'avoir qu'un seul endroit pour modifier
le format de la date, si modification ultérieure il y a.

- enfin si le formulaire a toujours la même forme, on peut
peut-être en faire un helper ?
et dans la vue on aurait un :
<%= cybermut_form(:tpe => @tpe, :reference => @reference, ...) %>

un truc dans ce genre.

Voilà pour l'instant, j'ai pas encore lu le pdf dans le Kit, mais
ça a l'air assez intéressant tout ça.

   -- Jean-François.

-- 
À la renverse.

--~--~---------~--~----~------------~-------~--~----~
Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de 
Google Groups.
Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse 
[email protected]
Pour résilier votre abonnement envoyez un e-mail à l'adresse [EMAIL PROTECTED]
-~----------~----~----~----~------~----~------~--~---

Répondre à