Ouai bon, il n'y a pas une solution miracle. Il faut inclure les gems dont on a besoin dans le gemspec. Heureusement, on peut acceder aux gems du Gemfile en ruby. Ce qui veut dire que dans le rakefile en utilisant Jeweler, on peut faire ceci:
http://gist.github.com/423891 Remarque: Un des nombreux interets de Bundler c'est qu'on peut utiliser un repo git (avec un branche speciale si besoin en est) en tant que gem. La, on est bloque. Seule solution, gemifier le repo git et publier sur gemcutter. C'est ce que j'ai fait pour les gems fomtastic et carrierwave en version Rails 3. Dernier point concernant les engines. Les helpers de l'engine sont loades dans l'application mere mais certains ne sont pas charges dans les controlleurs. C'est le cas d'helpers qui ne sont pas "rattaches" a un controlleur. Dans ce cas, dans la definition de l'engine, on rajoute les lignes suivantes: module Foo class Engine < Rails::Engine initializer "locomotive.add_helper" do |app| path = [*ActionController::Base.helpers_path] << File.dirname(__FILE__) + "/../../app/helpers" ActionController::Base.helpers_path = path end end end C'est bourrin mais c'est efficace. Sinon j'ai pas l'impression que bcp de personnes utilisent les engines sous Rails 3. On 2 juin, 17:33, did <[email protected]> wrote: > Ola tout le monde, > > Je suis en train de finaliser un engine qui se comporte comme une > application standalone. Elle possede donc un Gemfile. > La, je suis en train d'en faire un engine. J'ai bien genere un gemspec > avec Jeweler. > Seul souci, dans l'application parent qui va recevoir cet engine, je > perds toutes les dependences qui se trouvaient dans le Gemfile de > l'engine. > La solution serait evidemment de les ajouter au moment ou je genere > mon gemspec mais j'aimerais eviter d'avoir a maintenir mes dependences > a 2 endroits (Gemfile + Gemspec). > > J'aimerais bien avoir votre experience sur ce sujet. > Merci beaucoup ! > > Did -- 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]
