Yop,

La solution c'est de référencer une variable dans ton objet HelloApp avant
de le passer à "run":
https://github.com/gbetous/embedded-pi/blob/master/app.rb#L53 .

De mémoire c'est faisable (cf.
https://github.com/sinatra/sinatra/blob/master/lib/sinatra/base.rb#L868 ).
Mais je trouve qu'ovverrider "initialize" c'est quasiment aussi crade que
de rajouter une instance variable à HelloApp et de faire hello =
HelloApp.new; hello.ma_variabeul = :foubarre.

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 .

Répondre à