Re,

Le 31 octobre 2013 20:26, Guillaume Betous <[email protected]> a
écrit :

> > rajouter une instance variable à HelloApp et de faire hello =
> HelloApp.new;
> > hello.ma_variabeul = :foubarre.
>
> bin c'est con mais je ne suis pas arrivé à l'implémenter ça.
>

C'est vrai que Sinatra::Base override new  :°| .


> impossible de faire un simple "def toto; end" et ensuite appeler
> hell.toto dans l'appelant : j'ai systématiquement "undefined toto"
> comme erreur.
>

La bonne façon de faire c'est d'utiliser les "settings":


> j'ai meme essayé en faisant un attr_accessible, mais c'est exactement
> le meme pb.
>

Pas étonnant, si tu fais un my_app.class tu verras que c'est pas TonApp du
tout du tout.


> Bon, j'ai donc opté pour l'infâme s/\$ma_globale/MaGlobale/
>

NoooOOOOooon; voici une solution:
https://gist.github.com/lucasdicioccio/7266182

--Lucas


> gUI
>
> >
> > Autrement, tu peux utiliser le tour de magie qu'Houdini inventa
> spécialement
> > pour faire de la POO et qui consiste à utiliser une constante Ruby (ou
> > encore l'infâme singleton).
> >
> > s/\$ma_globale/MaGlobale/ et hop, le trollmaster n'y verra que du feu =).
> >
> > Cheers,
> > --Lucas
> >
> >
> > Le 30 octobre 2013 17:27, Guillaume Betous <[email protected]>
> a
> > écrit :
> >>
> >> Salut,
> >>
> >> Une question légèrement HS, mais vu le trafic en ce moment, je me le
> >> permets :)
> >>
> >> Je suis en train de faire mumuse avec un RaspberryPi, et je veux en
> >> profiter pour apprendre Sinatra.
> >> Mon projet de plateforme embarqué/temps-réel moderne est de faire
> >> cohabiter EventMachine avec Sinatra (parce que dans mon idée,
> >> plateforme moderne = interface web :) ).
> >>
> >> Donc j'ai récupéré des exemples (très peu en fait) pour en faire mon
> >> premier squelette : https://github.com/gbetous/embedded-pi
> >>
> >> L'idée générale :
> >> app.rb contient le squelette : déclarations EventMachine, puis
> >> lancement du site web via Rack
> >> site.rb : le site Sinatra
> >>
> >> Donc ce premier essai, j'ai un simple événement périodique (ça, c'est
> >> du pur EventMachine), mais qui peut aussi être activé (trigger) par le
> >> site web (côté asynchrone).
> >>
> >> Pour ça, j'ai fait une tache qui est une variable globale, et je
> >> trouve ça un peu moche.
> >>
> >> Mais je ne sais pas comment faire d'autre pour que ma classe Sinatra
> >> puisse interagir "en dehors".
> >>
> >> Merci pour vos commentaires :)
> >>
> >> 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 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 .
>
>
>
> --
> 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/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 à