2012-07-16 9 views
5

Ho un'applicazione ruby ​​on rails che deve essere gemmata. Gioielliere, aiuta a creare rubini di base. Tuttavia, come posso impacchettare un'app per rails come un gioiello? Ho un'app principale che richiede la mia app per i rails come gemma. Non riesco ad integrarli in quanto l'app principale per le rotaie deve essere utilizzata come app di gestione per controllare le app più piccole, eseguendole come gemme/motori.Come convertire un'app per binari in una gemma?

+2

Puoi descrivere perché vuoi creare un pacchetto completo come gemma? Le gemme non sono in genere plug-in o librerie che è possibile aggiungere alle app? – jstim

+1

date anche un'occhiata ai motori montabili dalle guide 3 ..... –

risposta

4

Poiché Rails 3.0 qualsiasi app di Rails è un motore. Per avvolgere la tua applicazione su un gioiello devi:

  1. Creare una nuova gemma con fardello o gioielliere o qualcos'altro.
  2. Inserisci il codice dell'applicazione in lib/directory della tua gemma.
  3. Tutte le classi della tua app devono essere nel modulo MyGem, quindi aggiungi MyGem prima dei nomi delle classi, ad esempio: Articolo => MyGem :: Articolo. Tutti i controller, i modelli, ecc. Devono essere assegnati ai nomi con il modulo GemName.
  4. Il file lib/my_gem.rb dovrebbe contenere codice successivo:

    module MyGem 
        class Engine < Rails::Engine; end 
    end 
    

UPD

O meglio se si intende utilizzare i motori di montabile:

$ rails plugin new MyGem 

Genera motore montabile con app fittizia per test e gemspec.

+0

hey @alexcoco, c'è un modo per * annullare * questo processo? Vedi la mia nuova domanda: http://stackoverflow.com/questions/31496596/how-to-convert-gem-to-standalone-rails-app – thesowismine

Problemi correlati