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 .

Répondre à