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 plus d'options, visitez le site https://groups.google.com/d/optout .

Répondre à