Nouvelle version, toujours visible sur https://github.com/gbetous/embedded-pi
J'ai tout englobé dans un module. Du coup j'ai un espace nommé, et je peux utiliser module.function dans mon appli. C'est quand meme hyper proche de l'utilisation de globales, mais je pense que c'est un peu moins pire. Sinon pour partager une variable (j'ai ajouté le comptage des événements, qu'ils soient synchrones ou asynchrones), c'est moyen. Je les compte dans une variable @@ de mon module, mais impsosible d'y accéder depuis la classe Sinatra : j'ai donc un accesseur de la forme "def self.var". Je vais rester là-dessus faute de mieux, mais si vous vous sentez inspirés, n'hésitez pas ! gUI 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. > > impossible de faire un simple "def toto; end" et ensuite appeler > hell.toto dans l'appelant : j'ai systématiquement "undefined toto" > comme erreur. > j'ai meme essayé en faisant un attr_accessible, mais c'est exactement > le meme pb. > > Bon, j'ai donc opté pour l'infâme s/\$ma_globale/MaGlobale/ > > 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/ -- 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 .
