Il se pourrait que ce soit mieux oui. J'ai pas encore toutes les règles en main pour vérifier qu'on peut effectivement faire comme ça, mais c'est bcp plus clean.
gUI Le 2 septembre 2014 17:24, Guirec Corbel <[email protected]> a écrit : > Et pourquoi ne pas faire un cas du genre : > > class Story > def prison! > event = events.find(type: Event::MAJORITY) > event.update_attribute('date', event.date + 3.years) > end > end > > > Le 2 septembre 2014 11:09, Guillaume Betous <[email protected]> > a écrit : > >> >> Pourquoi n'ajoutes tu pas un événement persistant à la création de >>> l'événement "naissance" plutôt que de l'ajouter "à la volé"? >>> >> >> J'ai anonymisé l'appli (rien à voir avec des naissances et des âges de >> majorité) et en réalité il y a énormément d'événements enregistrés qui >> influent sur ces événements générés. C'est comme si un accident de la vie >> faisait que tu ne sois pas majeur à 18 ans. Ou plus tôt. Imaginons que ce >> soit le cas avec un emprisonnement qui te décale ta majorité, ou que le >> mariage te donne une majorit anticipée. >> >> Du coup une fois ma liste "enrichie" générée, je vais la re-parcourir >> pour la vider des aberrations (style tu es 2x majeur dans ta vie, à 17 ans >> et à 18 ans). Les événements enregistrés, eux, sont intangibles. Ca c'est >> réellement passé. Les autres, c'est justement le but de l'appli, sont là >> pour te donner les jalons qui t'attendent. >> Le UseCase typique (et toujours anonymisé :) : "bonjour, je me suis marié >> à 17 ans et demi, mais j'ai fais 3 mois de prison à l'âge de 15 ans, à quel >> âge serai-je majeur ?" >> >> Bref c'est encore un peu compliqué dans ma tête, et comme il n'y aura >> qu'une dizaine d'événements dans une story, je me suis dit que >> l'implémentation naïve était finalement peut-être pas si mauvaise. >> >> gUI >> >> -- >> Pour la santé de votre ordinateur, préférez les logiciels libres. >> Lire son mail : http://www.mozilla-europe.org/fr/products/thunderbird/ >> Browser le web : http://www.mozilla-europe.org/fr/products/firefox/ >> Suite bureautique : http://www.libreoffice.org/download/ >> >> -- >> -- >> 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 obtenir davantage d'options, consultez la page >> https://groups.google.com/d/optout. >> > > -- > -- > 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 obtenir davantage d'options, consultez la page > https://groups.google.com/d/optout. > -- Pour la santé de votre ordinateur, préférez les logiciels libres. Lire son mail : http://www.mozilla-europe.org/fr/products/thunderbird/ Browser le web : http://www.mozilla-europe.org/fr/products/firefox/ Suite bureautique : http://www.libreoffice.org/download/ -- -- 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/d/optout .
