2012-07-16 6 views
5

Tengo una aplicación Ruby on Rails que debe ser adornada con gemas. Joyero, ayuda a crear rubygems básicos. Sin embargo, ¿cómo paquete una aplicación de rieles como una joya? Tengo una aplicación principal que requiere mi aplicación de rieles como una joya. No puedo integrarlos, ya que la aplicación principal de rieles se utilizará como una aplicación de administración para controlar aplicaciones más pequeñas, ejecutándolas como gemas/motores.¿Cómo convertir una aplicación de rieles a una joya?

+2

¿Puedes describir por qué quieres empaquetar una aplicación completa como una joya? ¿Las gemas generalmente no son complementos o bibliotecas que puedes agregar a las aplicaciones? – jstim

+1

también eche un vistazo a los motores montables de rieles 3 ..... –

Respuesta

4

Desde Rails 3.0, cualquier aplicación de Rails es un motor. Para ajustar su aplicación a una gema debe:

  1. Cree una nueva gema con un paquete o un joyero u otra cosa.
  2. Inserta el código de tu aplicación en el directorio lib/de tu gema.
  3. Todas las clases de su aplicación deben estar en el módulo MyGem, así que agregue MyGem antes de los nombres de su clase, como: Artículo => MyGem :: Artículo. Todos sus controladores, modelos, etc. deben tener el espacio de nombre con el módulo GemName.
  4. Su archivo lib/my_gem.rb debe contener siguiente código:

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

UPD

O mejor si se va a utilizar motores montables:

$ rails plugin new MyGem 

Genera motor montable con aplicación ficticia para pruebas y gemspec.

+0

hey @alexcoco, ¿hay alguna manera de * revertir * este proceso? Vea mi nueva pregunta: http://stackoverflow.com/questions/31496596/how-to-convert-gem-to-standalone-rails-app – thesowismine

Cuestiones relacionadas