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 .
