On est d'accord sur les filters :) par contre pour l'affiche du coup tu le fais 
à ajax du coup ?
Le côté immuable ça ok pas de souci, moi c'est plus la partie vue sur laquelle 
je me questionnais.


Simon Courtois


On Tuesday 11 June 2013 at 18:09, Cyril Mougel wrote:

> before_filter == BAN
> before == BAN
> after == BAN
>  
> voila ma régle :)
>  
> un shopping cart c'est simple, et avec de l'immutable, j'ai le versionning 
> implicite :p  
>  
> class Cart
>  
>   include Adamantium
>  
>   def initialize(items)
>     @items = items   
>   end
>  
>   def add(item)
>     Cart.new(@items | item)
>   end
> end
>  
>  
>  
>  
> 2013/6/11 Simon Courtois <[email protected] (mailto:[email protected])>
> > @cyril du coup un exemple con mais un shopping cart tu le gères comment ?
> >  
> > Parce je suppose qu'à coups de before_filter et de decent_exposure tu peux 
> > faire qqchose mais je trouve ça un peu gore  
> > et le coup de mettre ta logique dans la vue ça me choque un peu. Après je 
> > compte pas partir en croisade sur les trucs
> > comme ça mais je sais pas ça me semble pas la solution.
> >  
> >  
> >  
> > Simon Courtois
> >  
> >  
> > On Tuesday 11 June 2013 at 17:46, Cyril Mougel wrote:
> >  
> > > Perso j'aime pas trop Cells, ca sandbox trop.
> > >  
> > > Je suis pour
> > >  
> > > decent_exposure
> > > Draper
> > > Object On Rails
> > > Virtus
> > > Adamantium
> > >  
> > >  
> > >  
> > > 2013/6/11 Guirec Corbel <[email protected] 
> > > (mailto:[email protected])>
> > > > @cyril : Tu oublis de factoriser par le coef DHH. J'appliquerai ta 
> > > > formule très bientôt.
> > > >  
> > > > @simon : je ne trouve rien à propos de delegate_finder. Je n'en ai 
> > > > jamais entendu parlé. Peux-tu montrer un exemple?
> > > >  
> > > > Je ne connaissais pas Cells. Je vais voir ce que c'est.  
> > > >  
> > > > @olivier : Merci pour ton avis.
> > > >  
> > > >  
> > > > Le 11 juin 2013 11:16, Olivier El Mekki <[email protected] 
> > > > (mailto:[email protected])> a écrit :
> > > >  
> > > > > Hello,
> > > > >  
> > > > > Le bon moment pour utiliser un presenter, c'est avant tout une 
> > > > > décision
> > > > > esthétique. La plupart du temps, les méthodes des presenters ne seront
> > > > > utilisées qu'une seule fois, il n'y a donc pas ici de règle de
> > > > > refactoring applicable à tous les coups : le bon moment d'utiliser un
> > > > > presenter est celui où tu estimes qu'il y a trop de logique de
> > > > > présentation dans ta vue.
> > > > >  
> > > > > Les helpers sont très similaires, mais ont plus vocation à être
> > > > > réutilisés, sans être liés à une resource particulière.
> > > > >  
> > > > > Tu peux t'en servir par exemple pour formatter des messages
> > > > > d'erreur, générer des boutons qui sont composés de plusieurs éléments
> > > > > mais sont trop succints pour mériter un partial, etc.
> > > > >  
> > > > > Si tu t'apprêtes à utiliser un presenter pour n'y mettre qu'une ou 
> > > > > deux
> > > > > méthodes, il serait sûrement plus approprié d'utiliser des helpers
> > > > > égalements.
> > > > >  
> > > > > On 11:03 Tue 11 Jun     , Guirec Corbel wrote:
> > > > > > J'ai oublié de dire que, dans le cas des scopes, je parles de 
> > > > > > parties qui
> > > > > > concerne la présentation, utilisés par un menu par exemple.
> > > > > >
> > > > > > Une autre question, à partir de quel complexité faudrait t'il 
> > > > > > utiliser un
> > > > > > presenter. Si on à ça par exemple :
> > > > > >
> > > > > > f.association :company, label_method: :company_name, value_method:
> > > > > > :id, include_blank: false
> > > > > >
> > > > > > Est ce que ça serait utile de faire une fonction pour ça? Où mettre
> > > > > > cette fonction si ça devient trop complexe?
> > > > > >
> > > > > >
> > > > > >
> > > > > > Le 11 juin 2013 10:43, Guirec Corbel <[email protected] 
> > > > > > (mailto:[email protected])> a écrit :
> > > > > >
> > > > > > > Bonjour,
> > > > > > >
> > > > > > > Aujourd'hui je pose une question que je trouve un peu basique 
> > > > > > > mais je suis
> > > > > > > totalement perdu : Quand utiliser draper, des presenters, des 
> > > > > > > helpers, des
> > > > > > > scopes ou des partials?
> > > > > > >
> > > > > > > J'ai lu le post de Philippe Creux :
> > > > > > > http://reverbhq.com/blog/2012/08/building-web-apps-with-activeadmin/
> > > > > > >  et
> > > > > > > je suis d'accord avec lui. On devrait utiliser draper quand on a 
> > > > > > > besoin
> > > > > > > d'une action simple agissant sur un modèle. Un presenter contient 
> > > > > > > une
> > > > > > > logique plus complexe agissant sur plusieurs modèles.
> > > > > > >
> > > > > > > J'aime bien la méthode de Ryan Bates présentée ici :
> > > > > > > http://railscasts.com/episodes/287-presenters-from-scratch, le 
> > > > > > > problème,
> > > > > > > pour moi, c'est qui créer une variable "user_presenter" qui 
> > > > > > > délègue des
> > > > > > > fonctions à sont modèle "user". Si l'on a beaucoup d'attributs ça 
> > > > > > > peut
> > > > > > > devenir compliqué. Je pense que l'on ne devrait pas pour autant 
> > > > > > > utiliser
> > > > > > > des fois "user_presenter" et d'autres fois "@user".
> > > > > > >
> > > > > > > Je n'aime pas non plus le fait d'instancier un objet "@presenter" 
> > > > > > > dans le
> > > > > > > contrôleur. Ça viole une des lois de Sandi Metz.
> > > > > > >
> > > > > > > En ce qui concerne les partials, ça sert à décomposé de gros 
> > > > > > > bloques de
> > > > > > > code dans de plus petits.
> > > > > > >
> > > > > > > Je m'interroge au niveau des scopes sur le fait d'appeler une 
> > > > > > > fonction
> > > > > > > d'un modèle dans une vue. Par exemple, si on fait ceci :
> > > > > > >
> > > > > > > <% User.active_users.each do |user| %>
> > > > > > >   ....
> > > > > > > <% end %>
> > > > > > >
> > > > > > > Je ne suis pas certain que ça soit une bonne pratique, qu'en 
> > > > > > > pensez-vous?
> > > > > > >
> > > > > > > Quant aux helpers... ils servent à créer du html qui ne se sert 
> > > > > > > d'aucun
> > > > > > > modèle?
> > > > > > >
> > > > > > > Quel est votre avis là dessus? Quels sont vos techniques? Avez 
> > > > > > > vous des
> > > > > > > bons exemples?
> > > > > > >
> > > > > > > Bye!
> > > > > > >
> > > > > >
> > > > > > --
> > > > > > --
> > > > > > 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] 
> > > > > > (mailto:[email protected])
> > > > > > Pour résilier votre abonnement envoyez un e-mail à l'adresse 
> > > > > > [email protected] 
> > > > > > (mailto:[email protected])
> > > > > > ---
> > > > > > Vous recevez ce message, car vous êtes abonné au groupe Google 
> > > > > > Groupes Railsfrance.
> > > > > > Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le 
> > > > > > concernant, envoyez un e-mail à l'adresse 
> > > > > > [email protected] 
> > > > > > (mailto:railsfrance%[email protected]).
> > > > > > Pour plus d'options, visitez le site 
> > > > > > https://groups.google.com/groups/opt_out .
> > > > > >
> > > > > >
> > > > >  
> > > > >  
> > > > > --
> > > > > Olivier El Mekki.
> > > > >  
> > > > > --
> > > > > --
> > > > > 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] 
> > > > > (mailto:[email protected])
> > > > > Pour résilier votre abonnement envoyez un e-mail à l'adresse 
> > > > > [email protected] 
> > > > > (mailto:[email protected])
> > > > > ---
> > > > > Vous recevez ce message, car vous êtes abonné au groupe Google 
> > > > > Groupes Railsfrance.
> > > > > Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le 
> > > > > concernant, envoyez un e-mail à l'adresse 
> > > > > [email protected] 
> > > > > (mailto:railsfrance%[email protected]).
> > > > > Pour plus d'options, visitez le site 
> > > > > https://groups.google.com/groups/opt_out .
> > > > >  
> > > > >  
> > > >  
> > > > --  
> > > > --  
> > > > 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] 
> > > > (mailto:[email protected])
> > > > Pour résilier votre abonnement envoyez un e-mail à l'adresse 
> > > > [email protected] 
> > > > (mailto:[email protected])
> > > > ---  
> > > > Vous recevez ce message, car vous êtes abonné au groupe Google Groupes 
> > > > Railsfrance.
> > > > Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le 
> > > > concernant, envoyez un e-mail à l'adresse 
> > > > [email protected] 
> > > > (mailto:railsfrance%[email protected]).
> > > > Pour plus d'options, visitez le site 
> > > > https://groups.google.com/groups/opt_out .
> > > >   
> > > >   
> > >  
> > >  
> > >  
> > > --  
> > > Cyril Mougel
> > > http://blog.shingara.fr  
> > >  
> > > --  
> > > --  
> > > 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] (mailto:[email protected])
> > > Pour résilier votre abonnement envoyez un e-mail à l'adresse 
> > > [email protected] 
> > > (mailto:[email protected])
> > > ---  
> > > Vous recevez ce message, car vous êtes abonné au groupe Google Groupes 
> > > Railsfrance.
> > > Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le 
> > > concernant, envoyez un e-mail à l'adresse 
> > > [email protected] 
> > > (mailto:[email protected]).
> > > Pour plus d'options, visitez le site 
> > > https://groups.google.com/groups/opt_out .
> > >   
> > >   
> >  
> > --  
> > --  
> > 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] (mailto:[email protected])
> > Pour résilier votre abonnement envoyez un e-mail à l'adresse 
> > [email protected] 
> > (mailto:[email protected])
> > ---  
> > Vous recevez ce message, car vous êtes abonné au groupe Google Groupes 
> > Railsfrance.
> > Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le 
> > concernant, envoyez un e-mail à l'adresse 
> > [email protected] 
> > (mailto:railsfrance%[email protected]).
> > Pour plus d'options, visitez le site 
> > https://groups.google.com/groups/opt_out .
> >   
> >   
>  
>  
>  
> --  
> Cyril Mougel
> http://blog.shingara.fr  
>  
> --  
> --  
> 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] (mailto:[email protected])
> Pour résilier votre abonnement envoyez un e-mail à l'adresse 
> [email protected] 
> (mailto:[email protected])
> ---  
> Vous recevez ce message, car vous êtes abonné au groupe Google Groupes 
> Railsfrance.
> Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le 
> concernant, envoyez un e-mail à l'adresse 
> [email protected] 
> (mailto:[email protected]).
> Pour plus d'options, visitez le site https://groups.google.com/groups/opt_out 
> .
>   
>   

-- 
-- 
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]
--- 
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes 
Railsfrance.
Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le concernant, 
envoyez un e-mail à l'adresse [email protected].
Pour plus d'options, visitez le site https://groups.google.com/groups/opt_out .


Répondre à